使用不同模式执行 Prisma 迁移

问题描述 投票:0回答:1

我正在使用 Prisma 开发一个项目,我想制作一个可供其他项目使用的节点模块。下一步是在更新时保持数据库与模型和当前项目同步,以便所有测试平台尽可能自动化地继承所有更改。

这是当前正在运行的设置:

  • 每个模块有 n 个 Prisma 模式
  • 有一个脚本可以将模式从节点模块复制到主项目 prisma 文件夹
  • 在 json 包中,有一些命令可以从模式生成 Prisma 模块,并在需要时将输出导向器返回到节点模块中以供参考
  • 每个模式都有不同的 DATABASE_URL

理想情况下,我的包 json 中应该有这样的内容:

“sync-db-1”:“npx prisma 迁移 --schema moduleSchema1.prisma”

“sync-db-2”:“npx prisma 迁移 --schema moduleSchema2.prisma”

然后 prisma 会执行类似以下操作:

  • 迁移 -> postgresql://postgres:exmaple@localhost:5432/1
  • 迁移 -> postgresql://postgres:exmaple@localhost:5432/2

但目前,Prisma migrate 仅获取默认的 schema.prisma 文件。

有没有办法像这样更新数据库?我可以编写一个脚本来迭代检测到的每个模式并覆盖默认模式文件,然后对所有这些模式运行迁移命令,但这有点混乱,如果可能的话我想避免它。

我查了Prisma迁移和推送的文档,好像没有这个功能?

javascript node.js database automation prisma
1个回答
0
投票

在评论中验证这确实相关后,这里有一个官方答案,可以将此问题标记为已回答。

使用

prisma migrate --schema
选项指向所需的架构文件。

以下是文档链接:https://www.prisma.io/docs/orm/reference/prisma-cli-reference#migrate-dev

© www.soinside.com 2019 - 2024. All rights reserved.