【发布时间】:2012-11-14 02:50:30
【问题描述】:
当我通过“play run”运行我的 play framework 2.0 scala 应用程序时,我得到了 sql 错误,因为 sql 演变(又名迁移)从未运行过。我从一个全新的数据库开始。
我知道 Evolutions 插件正在运行,因为我可以在我的数据库中看到一个空的 play_evolutions 表。
什么会导致这种情况发生?
【问题讨论】:
当我通过“play run”运行我的 play framework 2.0 scala 应用程序时,我得到了 sql 错误,因为 sql 演变(又名迁移)从未运行过。我从一个全新的数据库开始。
我知道 Evolutions 插件正在运行,因为我可以在我的数据库中看到一个空的 play_evolutions 表。
什么会导致这种情况发生?
【问题讨论】:
听起来您需要将进化设置为在开始 Play 时自动运行。您可以通过添加
applyEvolutions.default=true
到您的 application.conf 文件。将此设置为 true 后,每次启动应用时都会应用进化。
【讨论】:
这可能在两种情况下发生:
进化文件sql语法错误,导致进化失败。 (这不是我的问题,但邮件列表中的某个人说这发生在他们身上。)
1.sql 文件位于不正确的目录结构“evolutions.default/1.sql”而不是“evolutions/default/1.sql”下。不幸的是,intellij 无法区分并在项目浏览器中以相同的方式呈现这两种情况。
进一步阅读:
【讨论】: