2016-02-27 122 views
2

如果我有ddl.generateddl.run设置为true,那么当我重新启动应用程序时,它总是会丢失我的数据库。ebean只有在数据库不存在的情况下才运行ddl

如果我添加ddl.createOnly=true,它会在创建ebean服务器实例时抛出异常。

问:

反正对我说:“请创建数据库,如果它不存在,或者如果数据库已经创建什么也不做”?

回答

0

请创建数据库,如果不存在

它没有没有。

1

带有一点解决办法的,你可以用你的EbeanServerFactory.create()调用在try-catch块,像这样

ServerConfig serverConfig = new ServerConfig(); 
serverConfig.setName("mydb"); 

// ddl.generate, ddl.createOnly and ddl.run should be set to true in 
// your ebean.properties file(if using one) else set them 
// programmatically 
serverConfig.loadFromProperties(); 

try { 
    server = EbeanServerFactory.create(ebeanConfig); 
} catch(Exception e) { 
    ebeanConfig.setDdlRun(false); 
    server = EbeanServerFactory.create(ebeanConfig); 
} 

这将是更好的,能够说createIfNotExists =真实的,但这在同时工作。

+0

好的提示。我会在我的工作中尝试。谢谢! –

+0

很高兴能帮到你! – JacksonWeekes

相关问题