migrationsscript erstellt

This commit is contained in:
ecki
2026-04-06 18:07:00 +02:00
parent 69f94cec83
commit e4e42b0472
8 changed files with 187 additions and 6 deletions
+46
View File
@@ -0,0 +1,46 @@
const db = require("./db");
const migrations = require("./migrations");
async function ensureMigrationsTable() {
await db.query(`
CREATE TABLE IF NOT EXISTS schema_migrations (
id VARCHAR(255) PRIMARY KEY,
applied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
`);
}
async function getAppliedMigrationIds() {
const [rows] = await db.query(`
SELECT id
FROM schema_migrations
ORDER BY id ASC
`);
return new Set(rows.map((row) => row.id));
}
async function runMigrations() {
await ensureMigrationsTable();
const appliedIds = await getAppliedMigrationIds();
for (const migration of migrations) {
if (appliedIds.has(migration.id)) {
continue;
}
console.log(`Running migration ${migration.id}`);
await migration.up(db);
await db.query(
"INSERT INTO schema_migrations (id) VALUES (?)",
[migration.id]
);
}
}
module.exports = {
runMigrations,
};