Для заполнения таблицы DocumentType
в вашем проекте с использованием Prisma и NestJS, можно создать файл seed.ts
, который будет содержать данные для заполнения базы данных. Вот пример реализации:
- Создайте файл
seed.ts
в папкеprisma
(или в другой директории, где вы храните скрипты для работы с базой данных). - Пример кода для seed.ts:javascript
import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); async function main() { // Данные для заполнения таблицы DocumentType const documentTypes = [ { typeName: 'Passport' }, { typeName: 'Driver License' }, { typeName: 'ID Card' }, ]; // Заполнение таблицы for (const docType of documentTypes) { await prisma.documentType.upsert({ where: { typeName: docType.typeName }, update: {}, create: docType, }); } console.log('Seeding completed!'); } main() .catch((e) => { console.error(e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });
- Объяснение кода:
PrismaClient
: используется для взаимодействия с базой данных.upsert
: позволяет избежать дублирования данных. Если запись с такимtypeName
уже существует, она не будет создана заново.documentTypes
: массив объектов, содержащий данные для заполнения таблицы.
- Настройка в
package.json
: Добавьте скрипт для запуска seed:json"scripts": { "seed": "ts-node prisma/seed.ts" }
- Запуск seed: Выполните команду:javascript
npm run seed
Теперь таблица DocumentType
будет заполнена указанными данными. Убедитесь, что перед запуском seed вы настроили подключение к базе данных в файле schema.prisma
.