Open2

next.jsでprismaを使う

ハヤシダハヤシダ

Userテーブルを定義

schema.prisma
datasource db {
  provider = "postgresql"
  url = env("POSTGRES_PRISMA_URL") // uses connection pooling
  directUrl = env("POSTGRES_URL_NON_POOLING") // uses a direct connection
}
model User {
  id        Int     @id @default(autoincrement())
  name      String
  age       Int
  tel       Int
  isActived Boolean
}

x prisma migrate dev --name init

Do you want to continue? All data will be lost. … yes

ハヤシダハヤシダ

Seederを作成

prisma/seed.ts
import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

async function main() {

  // 前削除
  await prisma.user.deleteMany()

  const users = [
    { name: 'Alice', age: 25, tel: 1234567890, isActived: true },
    { name: 'Bob', age: 30, tel: 1234567891, isActived: false },
    { name: 'Charlie', age: 28, tel: 1234567892, isActived: true },
    { name: 'David', age: 35, tel: 1234567893, isActived: true },
    { name: 'Eve', age: 22, tel: 1234567894, isActived: false },
    { name: 'Frank', age: 29, tel: 1234567895, isActived: true },
    { name: 'Grace', age: 33, tel: 1234567896, isActived: false },
    { name: 'Hannah', age: 31, tel: 1234567897, isActived: true },
    { name: 'Ivy', age: 27, tel: 1234567898, isActived: true },
    { name: 'Judy', age: 26, tel: 1234567899, isActived: false },
  ];

  for (const user of users) {
    await prisma.user.create({ data: user });
  }
}

main()
  .catch(e => {
    console.error(e);
    process.exit(1);
  })
  .finally(async () => {
    await prisma.$disconnect();
  });

ts-node prisma/seed.ts