- Add schema/*.dbml covering all existing tables (001-019) - Wire relspecgo via make generate-migrations target - Add make check-schema-drift for CI drift detection - Add schema/README.md documenting the DBML-first workflow Closes #19
860 B
860 B
Schema workflow
The schema/*.dbml files are the database schema source of truth.
Generate SQL migrations
Run:
make generate-migrations
This uses relspec to convert the DBML files into PostgreSQL SQL and writes the generated schema migration to:
migrations/020_generated_schema.sql
Check schema drift
Run:
make check-schema-drift
This regenerates the SQL from schema/*.dbml and compares it with migrations/020_generated_schema.sql.
If the generated output differs, the command fails so CI can catch schema drift.
Workflow
- Update the DBML files in
schema/ - Run
make generate-migrations - Review the generated SQL
- Commit both the DBML changes and the generated migration
Existing handwritten migrations stay in place. Going forward, update the DBML first and regenerate the SQL from there.