默认情况下,Blitz 有一个 db/seeds.ts
,你可以在其中添加测试数据以快速初始
化你的环境。
这对于在将数据库搞砸后或在充满旧测试数据时重建数据库非常有用。好的种子还可 以对新人的加入更友好(否则,需要到页面中创建一个新用户,然后为它们创建一些 任务,还需确保至少创建一个项目...)。唯一的要求是此文件需要默认导出。
db/schema.prisma
示例:model Project {
id Int @default(autoincrement()) @id
name String
tasks Task[]
}
model Task {
id Int @default(autoincrement()) @id
name String
project Project @relation(fields: [projectId], references: [id])
projectId Int
}
db/seeds.ts
import db from "./index"
const seed = async () => {
const project = await db.project.create({ data: { name: "FooBar" } })
for (let i = 0; i < 5; i++) {
await db.task.create({
data: {
name: `Task: ${i}`,
project: {
connect: {
id: project.id,
},
},
},
})
}
}
export default seed
blitz db seed
就完成了。你应该可以在数据库中设置了全新的
数据。贴士:使用像 chance 或 faker.js 的库来生成更真实的数据(名 称、住址、邮箱、地址、日期甚至 lorem ipsusm)