mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-08 14:43:24 +00:00
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import app from '@adonisjs/core/services/app';
|
|
import logger from '@adonisjs/core/services/logger';
|
|
import { BaseSeeder } from '@adonisjs/lucid/seeders';
|
|
|
|
export default class IndexSeeder extends BaseSeeder {
|
|
private async seed(Seeder: { default: typeof BaseSeeder }) {
|
|
/**
|
|
* Do not run when not in a environment specified in Seeder
|
|
*/
|
|
if (
|
|
!Seeder.default.environment ||
|
|
(!Seeder.default.environment.includes('development') && app.inDev) ||
|
|
(!Seeder.default.environment.includes('testing') && app.inTest) ||
|
|
(!Seeder.default.environment.includes('production') && app.inProduction)
|
|
) {
|
|
return;
|
|
}
|
|
|
|
await new Seeder.default(this.client).run();
|
|
}
|
|
|
|
async run() {
|
|
logger.info('Start user seed');
|
|
await this.seed(await import('#database/seeders/user_seeder'));
|
|
logger.info('User seed done');
|
|
logger.info('Collection user seed');
|
|
await this.seed(await import('#database/seeders/collection_seeder'));
|
|
logger.info('Collection seed done');
|
|
logger.info('Link user seed');
|
|
await this.seed(await import('#database/seeders/link_seeder'));
|
|
logger.info('Link seed done');
|
|
}
|
|
}
|