Для предустановки записей в базу данных в NestJS вы можете воспользоваться функциональностью Seeder, предоставляемой пакетом TypeORM. Seeder - это класс, который позволяет вам создавать и сохранять предустановленные данные в базе данных.
Для начала, вам необходимо установить TypeORM и его зависимости, если они еще не установлены:
npm install typeorm pg
Затем вы должны создать сидер. Создайте новую папку с именем "seeders" внутри папки вашего проекта и создайте файл сидера, например "database.seed.ts". В этом файле вы можете создать класс Seeder, который будет содержать метод для создания предустановленных данных.
import { Seeder, Factory } from 'typeorm-seeding'; import { Connection } from 'typeorm'; import { User } from './entities/user.entity'; export default class DatabaseSeeder implements Seeder { public async run(factory: Factory, connection: Connection): Promise<any> { await factory(User)().createMany(10); } }
Затем вам необходимо настроить вашу среду выполнения, чтобы использовать сидер в нужное время. Сделайте это в файле "main.ts":
import { NestFactory } from '@nestjs/core'; import { SeederModule } from 'typeorm-seeding'; import { DatabaseSeeder } from './seeders/database.seed'; async function bootstrap() { const app = await NestFactory.createApplicationContext(SeederModule); const seeder = app.get(DatabaseSeeder); await seeder.run(); await app.close(); } bootstrap();
Теперь, когда вы запустите ваше приложение NestJS, данные будут предварительно установлены в базу данных.
Обратите внимание, что для работы этого решения вам также понадобится настроить конфигурацию TypeORM, включая подключение к базе данных и объявление сущностей, таких как User. Вы можете ознакомиться с документацией TypeORM для получения более подробной информации о настройке конфигурации.
Также стоит отметить, что вам может потребоваться установить пакет "typeorm-seeding" для поддержки сидера. Вы можете установить его следующей командой:
npm install typeorm-seeding
Надеюсь, что эта информация будет полезна для вас при создании предустановленных данных в NestJS. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задать их.