1

所以我正在使用 playframework 2.0 并且我的应用程序已准备好发布。正如我一直在开发的那样,我注意到: conf\evolutions\default\1.sql 每次添加/修改模型层时都会自动更改。当我即将发布我的应用程序时,我想知道如何设置它以开始将其添加到 2.sql 而不是 1?我想标记/分支修订,以便将来如果我需要升级我的版本,系统会注意到它安装了 1.sql,因此它只需要运行 2.sql。

我目前正在使用 JDBC 数据库,并注意到在开发过程中,如果我进行任何更改,它将更新 1.sql,然后下次运行应用程序时,它会将我的所有数据清除干净。

那么我怎样才能让它进化1完成呢?

我目前有配置选项:applyEvolutions.default=true

这是发布的坏主意吗?

谢谢您的帮助

4

1 回答 1

2

这绝对是个坏主意

Ebean 不会创建 ALTER,而是创建 DDL 的版本,因此如果您修改任何模型并将其发送到生产环境,它将删除所有表并重新创建它们。当然,所有数据都会丢失。

因此,您需要从 中删除前两行1.sql以禁用 Ebean 修改文件。

从现在开始,您需要2.sql手动创建类似和下一个文件。在这些新文件中,您只需添加修改语句。

于 2012-08-03T07:48:51.847 回答