Files
documenso/packages/prisma/seed-database.ts
2024-03-07 12:12:24 +08:00

37 lines
898 B
TypeScript

import fs from 'node:fs';
import path from 'node:path';
const seedDatabase = async () => {
const files = fs.readdirSync(path.join(__dirname, './seed'));
for (const file of files) {
const stat = fs.statSync(path.join(__dirname, './seed', file));
if (stat.isFile()) {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const mod = require(path.join(__dirname, './seed', file));
if ('seedDatabase' in mod && typeof mod.seedDatabase === 'function') {
console.log(`[SEEDING]: ${file}`);
try {
await mod.seedDatabase();
} catch (e) {
console.log(`[SEEDING]: Seed failed for ${file}`);
console.error(e);
}
}
}
}
};
seedDatabase()
.then(() => {
console.log('Database seeded');
process.exit(0);
})
.catch((error) => {
console.error(error);
process.exit(1);
});