SchemaSmith Enterprise Documentation

Examining the Product Folder Structure

An opinionated file structure

industrial product

Overview

SchemaSmithy has a convention over configuration approach similar to a Ruby on Rails or Chef project.

The following structure is based on the Test Product.

product folder structure

The folder structure for scripts and most objects is fully configurable in the Product and Template .json files.

Execution Order

The execution order is determined first by the quench slot for the folder, next by the order each base folder appears within the configuration file and finally by alpha sorting the files within the folder by name. At the template level, scripts in the before, after tables, and after slots will run only once by default. You can have them run every time if the file name ends with [ALWAYS] before the .sql extension. SchemaQuench will ignore other file extensions.

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.

Additional Resources