Создание seed для заполнения таблицы DocumentType в Prisma (NestJS)

Для заполнения таблицы DocumentType в вашем проекте с использованием Prisma и NestJS, можно создать файл seed.ts, который будет содержать данные для заполнения базы данных. Вот пример реализации:

  1. Создайте файл seed.ts в папке prisma (или в другой директории, где вы храните скрипты для работы с базой данных).
  2. Пример кода для seed.ts:javascriptimport { 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(); });
  3. Объяснение кода:
    • PrismaClient: используется для взаимодействия с базой данных.
    • upsert: позволяет избежать дублирования данных. Если запись с таким typeName уже существует, она не будет создана заново.
    • documentTypes: массив объектов, содержащий данные для заполнения таблицы.
  4. Настройка в package.json: Добавьте скрипт для запуска seed:json"scripts": { "seed": "ts-node prisma/seed.ts" }
  5. Запуск seed: Выполните команду:javascriptnpm run seed

Теперь таблица DocumentType будет заполнена указанными данными. Убедитесь, что перед запуском seed вы настроили подключение к базе данных в файле schema.prisma.