An opinionated file structure
SchemaSmithyFree has a convention over configuration approach similar to a Ruby on Rails or Chef project.
The following structure is based on the Test Product.
The above folder names are the currently supported functions and show the basic execution order
except the after migration scripts. Those will run last within each Template
update loop. Additionally, after tables are updated, any object that failed to apply before updating
tables is applied again until all dependencies are satisfied, or further progress cannot be made
because there is a legitimate error. Migration Scripts
will run only once unless the file name ends with [ALWAYS] before the .sql extension
indicating that it should run with every deployment. The table files should have .json for the extension,
and all other files should have the .sql extension and be executable sql code. SchemaQuench
will ignore other file extensions.