playframework - 如何自动增加进化

时间:2012-08-03 00:48:16

标签: playframework playframework-2.0

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

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

那我怎么做才能完成进化1?

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

这对于发布来说是一个坏主意吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

这绝对是个坏主意

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

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

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