2015-09-26 85 views
2

我目前涵盖了SQL数据库的基础知识,并在播放框架中使用它们。我创建Postgres数据库,并成功地在我的application.conf播放框架忽略进化脚本

db.default.driver=org.postgresql.Driver 
db.default.url="jdbc:postgresql://database.example.com/playdb" 
db.default.user=postgres 
db.default.password=qwerty 

我也创建1.SQL文件中的conf /变阵/变阵/默认目录,并写有同样的例子SQL代码来创建简单的表配置。问题在于游戏似乎忽略了这个文件的存在。当我运行我的服务器并连接到本地主机时,我支持通过Play询问,是否希望将我的脚本应用于我的数据库。不幸的是,我并不是唯一正在播放的东西,正在加载我的主页(1.sql中的CREATE TABLE未执行,我没有创建任何表)。任何想法我做错了什么?

+0

什么玩版本? –

+0

@ m-z我正在使用2.4.3 – DorianOlympia

+0

对不起,但我必须问:你是否禁用了进化?检查'conf/application.conf'' evolutionplugin = disabled'应该被注释掉 – Sorona

回答

2

请确保您有下面的行放在build.sbt文件

libraryDependencies += evolutions 
0

对我来说,进化忽略2.SQL(和1.SQL)。

要解决此我不得不删除1.SQL这些评论:

#--- Created by Ebean DDL 
# To stop Ebean DDL generation, remove this comment and start using Evolutions 

,并添加自己的评论,如:

# Initial version 

此外,在查看1.SQL文件中透露VI它包含^必须删除的M个字符

经过这两个步骤,evolution停止覆盖1.sql并最终使用提供的2.sql文件。

即使您不执行数据库更新,Evolution似乎也会覆盖1.sql,因此请确保您正在编辑原始版本。

我正在使用play 2.4.1。