diff --git a/backend/migrations/run-migrations-safe.js b/backend/migrations/run-migrations-safe.js index 50bfba2..51acda3 100644 --- a/backend/migrations/run-migrations-safe.js +++ b/backend/migrations/run-migrations-safe.js @@ -134,7 +134,13 @@ async function runMigrations() { migrationFiles = coreFiles .filter(f => f.match(/^\d{3}_.*\.js$/)) .map(f => path.join('core', f)) - .sort(); + .sort((a, b) => { + const baseA = path.basename(a); + const baseB = path.basename(b); + const numA = parseInt(baseA.split('_')[0]); + const numB = parseInt(baseB.split('_')[0]); + return numA - numB; + }); } else { // For existing deployments, run all migrations (legacy + core) console.log('Existing deployment detected - checking all migrations'); diff --git a/backend/migrations/run-migrations.js b/backend/migrations/run-migrations.js index 9f23b85..3ab7f7b 100644 --- a/backend/migrations/run-migrations.js +++ b/backend/migrations/run-migrations.js @@ -68,7 +68,13 @@ async function runMigrations() { migrationFiles = coreFiles .filter(f => f.match(/^\d{3}_.*\.js$/)) .map(f => path.join('core', f)) - .sort(); + .sort((a, b) => { + const baseA = path.basename(a); + const baseB = path.basename(b); + const numA = parseInt(baseA.split('_')[0]); + const numB = parseInt(baseB.split('_')[0]); + return numA - numB; + }); } else { // For existing deployments, run all migrations (legacy + core) console.log('Existing deployment detected - checking all migrations');