0

在 Play (scala) 中,我在 conf/evolutions/default 中有许多演变,称为 1.sql、2.sql 等...

其中一些来自玩耍,一些来自我不再使用的教程代码。

我如何摆脱这些演变?

删除进化文件的明显方法似乎不起作用。如果您删除该文件,仍会应用演进。更改文件有效,因此当前的解决方法是在不再需要时清空 .sql 文件。

4

1 回答 1

2

在几乎每个迁移框架/库/方法中,它的工作原理都是一样的:

  • 如果您正在认真使用迁移/演变(您部署到生产环境,或者至少您与其他人合作,他们不希望他们的环境被破坏) - 您根本不会删除迁移。如果要删除它,请编写一个新的迁移来恢复以前的迁移。
  • 如果更改仅在您自己的分支上,您还没有在任何地方部署它,您还没有共享您的代码- 删除文件,从文件中删除行并删除并重新创建数据库- 迁移在执行时备份在它们执行的数据库中反对(至少我使用的大多数工具都这样做),所以如果你想摆脱迁移它还需要删除存储已执行迁移的表。为了确保事情是一致的,最简单的方法是删除并重新运行迁移/进化。

我不能强调这一点 -如果您将代码部署在任何地方,请不要删除迁移。地狱可以挣脱。但是你没有在任何地方部署它,因为它只是一个教程,只需删除数据库并做任何你想做的事情。

于 2019-07-25T15:09:42.000 回答