Files
2022-10-10 17:24:43 +02:00

34 lines
984 B
TypeScript

/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import { getMigrator } from './getMigrator';
import * as fs from 'fs';
import * as path from 'path';
// Utility function to run a migration
export const seed = async (query, file) => {
console.log(`executing migration: ${file} ...`);
const { pool, migrator } = await getMigrator();
await migrator.up();
await pool.query(query);
console.log(`${file} migration executed`);
};
const directoryPath = path.join(__dirname, 'seeds');
async function runAll() {
fs.readdir(directoryPath, async function (err, files) {
if (err) {
return console.log('Unable to scan directory: ' + err);
}
for (const file of files) {
const data = fs.readFileSync(path.resolve(directoryPath, file), {
encoding: 'utf8',
flag: 'r',
});
await seed({ sql: data, values: [], type: 'SLONIK_TOKEN_SQL' }, file);
}
console.log('done');
process.exit(0);
});
}
runAll();