prisma db pull 没有看到新表

Posted

技术标签:

【中文标题】prisma db pull 没有看到新表【英文标题】:prisma db pull doesn't see a new table 【发布时间】:2022-01-11 21:06:25 【问题描述】:

我有 prisma 的现有架构。 我从另一个模式复制了表以包含在 Prisma 模式中。 但是当我运行 prisma db pull 时,新表不会出现在 Prisma 模式中。 为什么?

【问题讨论】:

【参考方案1】:

您误解了prisma db pull 命令的功能。

来自docs

db pull 命令连接到您的数据库并将 Prisma 模型添加到反映当前数据库架构的 Prisma 架构中。

基本上,它将使您的 Prisma 架构与 现有 数据库架构相匹配。你想要的是相反的:更新数据库模式以匹配当前的 Prisma 模式。

您可以通过两种方式做到这一点:

    如果要更新数据库并将更改保留在迁移历史记录中,请使用prisma migrate dev 命令。 More Info

    如果您只想更新数据库而不创建迁移,请使用prisma db push 命令。 More info

More information is available in the docs 解释如何在 1 和 2 之间进行选择。

【讨论】:

不,你不懂我。对不起。是我英语不好。我在数据库中的 Prisma Schema 中复制了数据库中的表。然后我运行prisma db pull 将此数据库表添加到我的文件prisma.schema。但是这个表并没有出现在prisma.schema中。 你是如何在数据库中添加表的?使用 SQL? 我在IDE phpStorm数据库接口中使用拖放。 有趣,也许问题出在您的数据库而不是 Prisma 上?您能否验证相关数据库中是否发生了更改?在 CLI 上连接到它可能是一个很好的检查方法。除非您能提供某种复制步骤,否则很难提供帮助。 抱歉,我无法使用控制台命令重现此错误。

以上是关于prisma db pull 没有看到新表的主要内容,如果未能解决你的问题,请参考以下文章

如何在现有 Sqlite DB 中添加新表

@prisma/client 从 2.10.x 升级到 2.21.x 后没有定义 LogLevel

prisma db push 和 prisma migrate dev 之间的区别

prisma 部署后,prisma 没有应用更改

有没有办法从 datamodel.prisma 文件生成 schema.graphql 文件?

如何在没有 ID 的情况下在 Prisma 中插入新记录?