5

在关于 Evolutions的 Play 2.3.x文档中它说

然而,在开发模式下,简单地丢弃您的开发数据库并从头重新应用所有演变通常更简单。

但是,它没有提供有关如何执行此操作的说明。我可以使用某种激活命令来执行此操作吗?如何重置和重新应用进化?

谢谢!

更新:我宁愿不必手动弄乱我的数据库,但似乎这是唯一的方法

4

2 回答 2

2

如果您不关心数据库中的数据(确保您不关心),您可以使用 sql 命令删除数据库(例如“删除数据库名称”)。一旦你再次运行“play run”,它应该会自动从 sql 脚本重新创建你的表,如果你遵循了 play framework 标准,因为根据文档:

“如果在 application.conf 中配置了数据库并且存在进化脚本,则会自动激活进化”

于 2015-02-24T05:02:33.917 回答
2

我不认为有这样的激活命令可以重新应用所有的进化。

演变包括 2 部分起伏,其中

  1. Ups 部分描述了所需的转换。

  2. 描述如何还原它们的 Downs 部分。

    当您第一次应用进化时,应用了 Ups 部分,如果进一步通过实体更改架构。它将重新应用 ebean 中的进化。

如果您想恢复创建一个新的 dotsql 文件,请说 2.sql,其中包含所有 drop 语句的 Ups 部分。

这样

然而,在开发模式下,简单地丢弃您的开发数据库并从头重新应用所有演变通常更简单。

我认为他们的意思是通过您的数据库 gui 等手动删除所有数据库。

还要检查类似

于 2015-02-24T05:02:43.680 回答