在我的Grails 1.3.7应用程序中,我将域映射到旧版oracle数据库。在此基础中,我使用GORM将多个模式映射到我的域。它复杂但有效。
我现在正在尝试创建一个不依赖于oracle数据库的环境,因此前端团队可以从公司外部运行应用程序。他们是外包的。所以我想创建一个新的grails环境,将数据源指向HSQLDB并设置dbCreate =“create-drop”。
我遇到以下错误:
hbm2ddl.SchemaExport - 模式名称无效:语句中的APR [create table APR.PLATAFORMA]
每次尝试在启动时创建表。
问题是我找不到办法让hibernate创建模式。我还试图以编程方式在starup上创建架构,但我没有成功。我也尝试使用H2 INIT属性Can I have H2 autocreate a schema in an in-memory database?,但也没有成功。
有什么想法吗?
答案 0 :(得分:0)
创建一些bean后期处理和黑客HSQLDialect后,我意识到最好的解决方案是从域中删除架构信息。
最终,两个数据库(HSQLDB和H2)都遇到了独特约束的问题。由于我的唯一约束是在只读类中定义的,所以我也没有费心去除它们。
该应用程序仍在使用oracle数据库,但现在我可以使用内存数据库(我正在使用HSQLDB)和同一模式中的所有表来运行它。