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