From ccf59d1d4d8b6d2890156b0325649cc08fb4a708 Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 25 Jul 2025 13:00:03 +0200 Subject: [PATCH] Fix 001_init.js to follow proper migration pattern - Changed from standalone script to proper migration with exports.up/down - Removed process.exit() calls that were terminating the migration runner - Removed immediate execution of runMigrations() - Now properly exports migration functions like other migrations This was the root cause - 001_init.js was executing immediately when required and calling process.exit(), preventing it from being run as a migration and causing 029 to run first on an empty database. --- backend/migrations/core/001_init.js | 16 +++++++++------- backend/migrations/run-migrations-safe.js | 1 + 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/backend/migrations/core/001_init.js b/backend/migrations/core/001_init.js index 6cab3cb..806882a 100644 --- a/backend/migrations/core/001_init.js +++ b/backend/migrations/core/001_init.js @@ -4,8 +4,8 @@ const { generateReadablePassword } = require('../../src/utils/passwordGenerator' const fs = require('fs').promises; const path = require('path'); -async function runMigrations() { - console.log('Running database migrations...'); +exports.up = async function(knex) { + console.log('Initializing database schema...'); try { // Initialize tables @@ -116,11 +116,13 @@ Generated on: ${new Date().toISOString()} } console.log('Migrations completed successfully'); - process.exit(0); } catch (error) { - console.error('Migration failed:', error); - process.exit(1); + console.error('Initial setup failed:', error); + throw error; } -} +}; -runMigrations(); +exports.down = async function(knex) { + // This migration cannot be rolled back as it creates the initial schema + console.log('Initial setup cannot be rolled back'); +}; diff --git a/backend/migrations/run-migrations-safe.js b/backend/migrations/run-migrations-safe.js index 51acda3..14b723c 100644 --- a/backend/migrations/run-migrations-safe.js +++ b/backend/migrations/run-migrations-safe.js @@ -141,6 +141,7 @@ async function runMigrations() { const numB = parseInt(baseB.split('_')[0]); return numA - numB; }); + console.log('Migration files in order:', migrationFiles.map(f => path.basename(f))); } else { // For existing deployments, run all migrations (legacy + core) console.log('Existing deployment detected - checking all migrations');