34 lines
984 B
TypeScript
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();
|