When should you use the reset option when provisioning?


What is the purpose of the reset option when provisioning? When should you use this option?


C3-prov issues - method undefined

From the documentation:

# c3-prov -h
  -r, --reset    reset all metadata for the tag. I.e. will not attempt to provision incrementally.

With the r flag you will remove all metadata (i.e. types mixing Metadata or SeedData) and provision them again.
You can use this option usually when you have provisioning problems along with clearing DB issues from console with:



Thanks for posting the documentation. I can’t use the c3-prov tool anymore because I’m on Windows and the new C3 CLI is currently only supported on macOS.

However, this still doesn’t really answer my question.

When should you have to use this option? Why can’t the platform handle this automatically?

For example, I’ve also noticed you need to use the reset option to correctly update JavaScript code. Or I’ve had to use the reset option after deleting a file.

It’s frustrating when I’m trying to debug after successfully provisioning without the reset option, only to later find out that my error was caused because my code didn’t completely update because I didn’t provision with the reset option.



You should never HAVE to use this option. It can be used to recover when ‘incremental’ provisioning doesn’t work correctly. In general do not use -r. Only use that flag when omitting it has unexpected outcomes. BTW if provisioning behaves in an unexpected way when not passing -r please file the bug so we can continue to make incremental provisioning (which can be much faster than full metadata reset) more stable.


Provisioning fails with Unable to execute sql

Thanks @rileysiebel!



We just had a disk space overflow, presumably due to someone’s use of -r more than expected.
Would it be possible to remove the archive created by provisioning with -r, automatically after the provisioning?