refactor: switch to versioned migrations runner (phases 2+3)
- migrate.js → legacy-migrate.js (kept for rollback, delete 2026-07-01) - tests/setup.js now uses migrations-runner.run() on fresh temp DB - npm run migrate → versioned runner (was legacy init-every-start) - npm run migrate:legacy → legacy-migrate.js (emergency rollback only) After `npm run migrate:bootstrap` on prod: npm run migrate → "Nothing to apply — schema is up to date" All 32 previously-passing tests continue to pass. Pre-existing 3 auth.test.js failures (rate-limiter shared state) unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
"dev": "nodemon src/server.js",
|
||||
"migrate": "node src/db/migrations-runner.js",
|
||||
"migrate:bootstrap": "node src/db/migrations-runner.js bootstrap",
|
||||
"migrate:legacy": "node src/db/migrate.js",
|
||||
"migrate:legacy": "node src/db/legacy-migrate.js",
|
||||
"seed": "node src/db/seed.js",
|
||||
"seed:permissions": "node src/db/seed-permissions.js",
|
||||
"lint:routes": "node scripts/check-route-auth.js",
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
// LEGACY: monolithic init-on-every-start migration. Do not use directly.
|
||||
// Schema is now managed via migrations-runner.js + migrations/NNN_*.sql
|
||||
// New schema changes → add migrations/NNN_description.sql, run `npm run migrate`
|
||||
// This file kept for rollback reference. Delete after 2026-07-01 if stable.
|
||||
const db = require('./db');
|
||||
|
||||
db.exec(`
|
||||
@@ -15,7 +15,7 @@ process.env.NODE_ENV = 'test';
|
||||
|
||||
// Now require app modules (they will use the temp DB)
|
||||
const db = require('../src/db/db');
|
||||
require('../src/db/migrate');
|
||||
require('../src/db/migrations-runner').run();
|
||||
|
||||
// Seed permissions
|
||||
const { seedDefaults } = require('../src/controllers/permissionsController');
|
||||
|
||||
Reference in New Issue
Block a user