1.4 KiB
1.4 KiB
DB Migration Workflow (External Postgres)
This project uses an external on-prem Postgres database. Migration files are canonical in:
packages/db/migrations
Preconditions
DATABASE_URLis set and points to the on-prem Postgres instance.psqlis installed and available in PATH.- You are in repo root.
Commands
- Apply pending migrations:
npm run db:migrate
- Show migration status:
npm run db:migrate:status
- Fail if pending migrations exist:
npm run db:migrate:verify
Active migration set
Migration files are applied in lexicographic filename order from packages/db/migrations.
Current baseline files:
add_display_name_column.sqladd_image_columns.sqladd_modified_on_column.sqladd_notes_column.sqlcreate_item_classification_table.sqlcreate_sessions_table.sqlmulti_household_architecture.sql
Tracking table
Applied migrations are recorded in:
schema_migrations(filename text unique, applied_at timestamptz)
Expected operator flow
- Check status:
npm run db:migrate:status
- Apply pending:
npm run db:migrate
- Verify clean state:
npm run db:migrate:verify
Troubleshooting
DATABASE_URL is required:- Export/set
DATABASE_URLin your environment.
- Export/set
psql executable was not found in PATH:- Install PostgreSQL client tools and retry.
- SQL failure:
- Fix migration SQL and rerun; only successful files are recorded in
schema_migrations.
- Fix migration SQL and rerun; only successful files are recorded in