2012-07-24 40 views
1

我有一个由另一个webapp管理的现有数据库架构。我正在创建的playframework需要读取/写入这个现有的模式,但它会在播放启动时删除并重新创建表格。如何避免使用PlayFramework创建架构

如何关闭表格创建?

更新:

  • 发挥1.2.5
  • MySQL的

UPDATE2:

@Entity(name="mytable_name") 
public class Sample extends Model {  
    public Integer some_value; 
    public String fullname; 
} 

一个控制器方法里......

List<Sample> list = Sample.findAll(); 

表存在数据,我运行“玩测试”,击中调用findAll的控制器方法,并且表被删除,重新创建,现在为空。

模式在数据类型与文本字段大小不一致时不匹配。我期待查询错误,但不是这个。

回答

2

如果您正在使用播放1.x中使用JPA,你可以把这个线你application.conf

jpa.ddl=none 
+0

我试过,但可悲的是,它没有改变结果。它仍会删除表格及其所有内容,然后再次创建它,为空。它在调用findAll()后做到了这一点() – darren 2012-07-24 08:04:20

+0

@darren:你是否像我在其他答案中建议的那样禁用了进化? – biesior 2012-07-24 08:24:02

+0

是的,我也是这样做的,没有变化 – darren 2012-07-24 08:35:36

2

来自官方的evolutions' documentation

如果配置了数据库演变自动激活在 application.conf和演变脚本存在。您可以通过将evolutions.enabled设置为false来禁用 。例如,当测试 设置了自己的数据库时,您可以禁用测试 环境的演变。

+0

是2.0吗?如果是的话,如何禁用evolutions呢? – rOrlig 2012-11-22 23:11:47

+0

@gaurav这是播放1样本,对于播放2检查其文档:http://www.playframework.org/documentation/2.0.4/Evolutions |您需要在application.conf文件中取消注释此行:'evolutionplugin = disabled' |下次写在单独的问题 – biesior 2012-11-23 08:48:54