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