Use grate itself to version the grate tables, instead of doing this explicitly in code.
This is good for two reasons:
1) We use the best tool out there to version the database ;)
2) It makes (overdue) changes to some of the grate tables (using outdated types, etc) easier
I introduced a set of "meta" grate tables to handle the versioning of the Grate tables themselves.
So, in addition to (default names):
ScriptsRun
ScriptsRunErrors
Version
we add these tables, to version the tables above:
GrateScriptsRun
GrateScriptsRunErrors
GrateVersion
for versioning these tables themselves, we put the versioning in the same tables
(using delayed writing to the tables for bootstrapping)
Wrote tests for existing functionality to make sure we don't break anything
Dog-fooding: Use grate to version grate tables
Use grate itself to version the grate tables, instead of doing this explicitly in code. This is good for two reasons: 1) We use the best tool out there to version the database ;) 2) It makes (overdue) changes to some of the grate tables (using outdated types, etc) easier
I introduced a set of "meta" grate tables to handle the versioning of the Grate tables themselves. So, in addition to (default names):
ScriptsRun
ScriptsRunErrors
Version
we add these tables, to version the tables above:
GrateScriptsRun
GrateScriptsRunErrors
GrateVersion
for versioning these tables themselves, we put the versioning in the same tables (using delayed writing to the tables for bootstrapping)
Wrote tests for existing functionality to make sure we don't break anything
Made sure internal tables are created
Fixed case-sensitivity in tests
Smink -> 0.3.0 (test reporting)