Playframework 玩始终加载初始数据
我的Bootstrap.java是:Playframework 玩始终加载初始数据,playframework,playframework-1.x,Playframework,Playframework 1.x,我的Bootstrap.java是: @OnApplicationStart public class Bootstrap extends Job { public void doJob() { // Check if the database is empty System.out.println("========================================================" + User.count());
@OnApplicationStart
public class Bootstrap extends Job {
public void doJob() {
// Check if the database is empty
System.out.println("========================================================" + User.count());
if(User.count() == 0) {
Fixtures.loadModels("initial-data.yml");
}
System.out.println("========================================================" + User.count());
}
}
每次我重新启动应用程序时,数据库都会被清理,然后User.count()
为0,因此它会重新加载初始数据,并且我对User
所做的所有更改都会丢失。有人能帮我吗?谢谢
编辑:
在application.conf中,我将数据库设置为:
%server01.application.mode=PROD
%server01.db=mysql:root:secret@dbname
%server01.jpa.ddl=create
%server01.XForwardedSupport=127.0.0.1
数据库可能设置在内存中。请检查application.conf并使用持久数据库
如果我记得您只需要取消注释几行。在您的配置文件中,尝试将ddl生成设置为
update
(或validate
),而不是create
:
%server01.jpa.ddl=update
看看。谢谢您的回复。但我正在使用持久数据库,并在prod模式下运行我的应用程序。如何从命令行启动应用程序?谢谢。你说得对!也许我应该在prod环境中使用jpa.dll=none?我会在prod中使用
validate
,以检查我的对象模型是否与关系模型一致。