我想从PostgreSQL生产数据库中删除2个不再使用但有数据的模型。
我有点害怕将它们从模式中删除并运行prisma migrate dev,然后在生产中生成的迁移出现问题。
因此,我的想法是在以下之前清理数据库:
1对prod数据库进行查询,以删除相关表中的所有数据。2从本地模式中删除模型,并运行迁移。3将迁移推送到prod,使DB表为空。
我是应该这样做呢,还是不用担心,在本地删除模型+运行prisma migrate dev,然后将迁移推送到prod?
有没有其他方法可以达到我的目的?
先谢了!
2条答案
按热度按时间yvt65v4c1#
您的计划看起来不错!这将确保迁移不会受到表中仍然存在的任何数据的影响。
您可以考虑的另一个选项是重命名数据库中的表,而不是完全删除它们。这将允许您稍后检索数据(如果需要),但也允许您从架构中删除模型,而不会出现任何问题。
所以我会这么做:
1.重命名表
1.从本地模式中删除模型
1.将迁移推向生产
1.从步骤1中删除重命名的表。
l7wslrjt2#
你列出的方法看起来不错。
另一种选择是从模式文件中删除模型,然后运行带有--create-only标志的
npx prisma migrate dev
命令,只创建迁移文件,而不将其应用到数据库。您可以先检查迁移文件,如果它看起来不错,那么您可以再次调用
npx prisma migrate dev
来应用它。