IKHSAN
ENID Baca dalam Bahasa Indonesia

pixies

Public
Branch
master
Latest commit
9b0697f26 October 2026

generate-migrations.js

Open raw
import fs from 'node:fs';
import path from 'node:path';

const migrationsDir = path.join(import.meta.dirname, '..', 'server', 'migrations');
const outputFile = path.join(migrationsDir, 'index.js');

const files = fs.readdirSync(migrationsDir)
    .filter(f => /^\d{4}-.+\.js$/.test(f))
    .sort();

if (files.length === 0) {
    console.error('No migration files found in server/migrations/');
    process.exit(1);
}

const imports = files.map((file) => {
    const varName = `m${file.slice(0, 4)}`;
    return `import { up as ${varName} } from './${file}';`;
}).join('\n');

const entries = files.map((file) => {
    const varName = `m${file.slice(0, 4)}`;
    return `    { name: '${file}', up: ${varName} },`;
}).join('\n');

const output = `${imports}

const migrations = [
${entries}
];

export default migrations;
`;

fs.writeFileSync(outputFile, output);
console.log(`Generated ${outputFile} with ${files.length} migration(s)`);
bytes
937
lines
37
Type
js
Latest commit
26 October 2026