如何删除 Play 中的进化?

How do you delete an evolution in Play?

在 Play (scala) 中,我在 conf/evolutions/default 中进行了一些改进,称为 1.sql、2.sql 等...

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

如何摆脱这些进化?

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

几乎在每个迁移中 framework/library/approach 它的工作原理都是一样的:

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

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