Fix duplicate key error in migration marking
Mirror to GitHub / mirror (push) Successful in 30s
Test and Lint / backend-test (push) Successful in 1m36s
continuous-integration/drone/push Build is passing
Test and Lint / frontend-test (push) Successful in 2m4s
Version and Release / version-bump (push) Successful in 31s
Version and Release / trigger-drone (push) Has been skipped

- Added check in markMigrationAsApplied to prevent duplicate inserts
- Now checks if migration is already marked before inserting
- Prevents 'duplicate key value violates unique constraint' error

The error occurred when detectExistingSchema() marked a migration
as applied, then the migration runner caught a 'schema exists' error
and tried to mark it as applied again.
This commit is contained in:
2025-07-25 13:34:02 +02:00
parent 8d85454ef6
commit baa08e9ec9
+6 -2
View File
@@ -27,8 +27,12 @@ async function isMigrationApplied(filename) {
// Mark migration as applied without running it (for existing schema)
async function markMigrationAsApplied(filename) {
await db('migrations').insert({ filename });
console.log(`Marked migration ${filename} as applied`);
// Check if already marked to avoid duplicate key error
const isApplied = await isMigrationApplied(filename);
if (!isApplied) {
await db('migrations').insert({ filename });
console.log(`Marked migration ${filename} as applied`);
}
}
// Detect existing schema and mark migrations as applied