1

我正在使用 play 并使用 slick 。在迁移到 slick 之后,我每次启动服务器时都运行 play 尝试删除并重新创建表,说“数据库‘默认’需要进化!”

即使我的数据库和服务器没有变化。有什么方法可以配置它,以便每次都不会删除表。

使用 play 2.1.0 和https://github.com/freekh/play-slick

4

3 回答 3

1

如果您想禁用进化,您可以使用以下命令更新配置文件: applyEvolutions.default=false 或在命令行中添加: play run -DapplyEvolutions.default=true

于 2013-09-02T13:58:56.097 回答
1

这可能是创建一个conf/evolutions/default/1.sql它只有在它不存在并且没有被配置禁用的情况下才执行的操作evolutionplugin=false。我猜您仍在更改 Scala 代码中的表映射,这意味着数据库发生了更改。

正如 Fredrik 已经说过的那样,解决方案是applyEvolutions.default=false,或者维护你自己的进化文件,这样 play-slick 就不会生成一个。

于 2013-09-03T10:48:46.080 回答
0

查看 /conf 是否有 /evolutions 目录包含数据库进化,并尝试删除此进化文件夹。

于 2013-09-02T07:38:58.580 回答