从数据库中删除所有表后,如何将 prisma 重新部署到数据库
Posted
技术标签:
【中文标题】从数据库中删除所有表后,如何将 prisma 重新部署到数据库【英文标题】:How do you make prisma redeploy to a database after you've removed all the tables from the database 【发布时间】:2019-12-15 14:20:57 【问题描述】:我使用 prisma 为数据库生成架构,但由于更改 id 列开始出现错误。我删除了表并打算重新部署架构,但我找不到这样做的方法。
我已经尝试过执行 prisma deploy 之类的操作,但它告诉我我已经同步了,这是不正确的。我需要它重新部署,就好像架构是新的一样,它似乎不想这样做。
【问题讨论】:
【参考方案1】:TL;DR:先试试prisma delete
,然后再试试prisma deploy
。
Prisma 为 management
创建一个数据库,它将保存所有与迁移相关的数据。即使您手动删除了表,您也没有更改有关您的服务的迁移数据。因此,Prisma 认为一切都是最新的。
您应该使用prisma delete
让 Prisma 彻底删除您的表,而不是手动删除表。然后,您可以重新运行prisma deploy
以再次重建表。
【讨论】:
prisma delete 只删除 prisma 服务而不是数据库【参考方案2】:试一试:“prisma deploy --force”
根据文档,您必须接受由 --force 更改架构导致的数据丢失。但是在你的情况下,表格已经被删除了,所以我认为可以尝试一下。
Prisma doc
【讨论】:
以上是关于从数据库中删除所有表后,如何将 prisma 重新部署到数据库的主要内容,如果未能解决你的问题,请参考以下文章
SQLServer如何将一个表内的所有数据导入另一个表后,删除表内的所有数据