如何创建包含字典数据插入操作的Prisma迁移?
答案
完全可以,这是Prisma迁移处理数据初始化类需求的标准用法,操作步骤如下:
- 第一步:执行命令生成空迁移模板
运行prisma migrate dev --name add-type-two-to-event-type,命令执行后会在prisma/migrations目录下生成带时间戳前缀的迁移文件夹,里面包含migration.sql空文件。 - 第二步:写入自定义SQL
你写的INSERT语句可以直接粘贴到上述migration.sql文件中,为了避免重复执行迁移时报主键冲突的错误,建议对SQL做兼容优化,如果你用的是PostgreSQL数据库,可以改成:
如果你用的是MySQL等其他数据库,替换成对应数据库的重复插入判断语法即可。INSERT INTO "EventType" (id, value) VALUES (2, 'TypeTwo') ON CONFLICT (id) DO NOTHING; - 第三步:执行迁移
保存migration.sql后再次运行prisma migrate dev,Prisma就会自动执行你编写的插入逻辑,完成数据写入。
补充说明:如果后续有大量字典表初始化需求,可以把这类数据写入逻辑统一放到Prisma的seed脚本中管理,和结构迁移分开更便于维护,单次少量数据插入直接写在迁移中没有任何问题。
内容的提问来源于stack exchange,提问作者Aleksandr Chernyi
相关产品推荐
相关产品推荐

