Metadata - Schema-Smith/SchemaSmithEnterpriseDemos GitHub Wiki

What is metadata?

Metadata describes a database structure. Most sql server objects can be defined completely within a .sql file.

For example:

  • Functions
  • Stored procedures
  • Triggers
  • Views

All of these objects can be created or altered without worrying about state.

Tables are where things get tricky. You could define a table as a create script but as soon as you start entering data, things get complicated. For any change after the initial roll out, you have to determine how to alter the table to bring it to the desired state.

By convention, SchemaQuench works with tables defined in JSON format. This format is describing what the column names should be, the type they should have, nullability, etc. SchemaQuench calculates how to safely alter the structure to bring it to the desired state defined by the JSON leaving you to just need worry about describing what you want the table to look like.