【发布时间】:2015-05-30 21:16:05
【问题描述】:
当我启动我的 Grails 应用程序时,我的所有域类都会出现这些错误。
ERROR hbm2ddl.SchemaExport - HHH000389: Unsuccessful: drop table domain_class cascade constraints
ERROR hbm2ddl.SchemaExport -ORA-01031: insufficient privileges
然后
ERROR hbm2ddl.SchemaExport -ORA-00942: table or view does not exist
我正在为应用程序使用内存数据库,我的 DataSource.groovy 中有这个:
dataSource {
pooled = true
driverClassName = "org.h2.Driver"
username = "sa"
password = ""
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = false
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
local {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
development {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
DataSource 中的设置有问题吗?
我以grails -Dgrails.env=local run-app -https开始我的应用程序
我尝试在启动期间使用 BootStrap.groovy 创建对象,甚至它们都失败了。我使用 GGTS 进行开发。这是在说什么特权?
【问题讨论】:
-
在问题中添加
DataSource.groovy的全部内容。在这里,您使用的是自定义环境local环境。我怀疑应用程序会引用development环境中的 Oracle 数据库。 -
已更新。那是我专门告诉它使用本地环境的命令。这有用吗?
-
在数据源中没有提到 Oracle db。您应该更新 DataSource 的全部内容。
-
这里是整个数据源。如果有帮助,请添加有关错误的更多信息。
-
在使用 H2 数据库时收到 Oracle 错误代码令人困惑。必须得出结论,something 已配置为在您的项目中使用 Oracle。
标签: grails grails-orm