2013-04-27 81 views
0

我正在使用Play框架开发项目,它使用EBean作为ORM API,我想知道如何在启动后需要更改模型时如何保留旧数据我向公众提出的申请? 因为每次更新后都会创建一个新的卷积并重置数据。如何更改模型的数据库数据

回答

2

Play 2.x中的Ebean插件总是会丢失全部结构并重新创建它 - 这会导致数据丢失。不支持仅更新已更改的元素(即使在纯Ebean中也是如此)see post at their forum

只有解决方法是禁用它并手动创建下一个演变(2.sql,3.sql等),并在其中放置更改/添加的表和列。然后在文件1.sql文件中删除两条第一行(它告诉它它是用插件创建的) - 在这种情况下,它不会尝试再次生成完整的DDL,而是会查找您的手动演变。

(可选)您可以使用您最喜欢的GUI来管理数据库的更改,有时它会更快。

要禁用Ebean插件完全添加(或去掉注释),这条线在你的application.conf

evolutionplugin=disabled