在Play中运行时更改数据库表架构的最佳方法是什么?框架?我从客户端应用程序中获取了未指定数量的列,并且不能拥有域对象。
答案 0 :(得分:0)
为什么不使用Apache DDLUtils?
Play中没有默认插入!但我在其他项目中使用它并且它非常有用
http://db.apache.org/ddlutils/
答案 1 :(得分:0)
另一种选择可能是使用无架构数据存储区ala mongodb。好像有一个mongo模块可以玩,http://www.playframework.org/modules/mongo。
答案 2 :(得分:0)
我认为这正是您所寻找的
看看游戏snippets
http://www.playframework.org/community/snippets/13
public class Application extends Controller {
@Before
public static void setDBSchema() {
String schema = "someSchema"; // This can come from a Cache, for example
Play.configuration.setProperty("hibernate.default_schema", schema);
JPA.entityManagerFactory = null;
JPAPlugin plugin = new JPAPlugin();
plugin.onApplicationStart();
}
...
您只需更改已配置的hibernate架构,然后强制重启JPAPlugin