我刚刚在一个刚开始工作的项目上创建了一个新的 grails 域类。我知道数据源设置正确,因为我们已经有一堆域类正在更新到数据库就好了。
我得到的错误:
Caused by BatchUpdateException: ORA-00942: table or view does not exist
我尝试运行 DBMUpdate 但也没有创建表。
创建域类时我缺少什么吗?我需要更改更改日志中的某些内容吗?任何建议都会有所帮助!
我刚刚在一个刚开始工作的项目上创建了一个新的 grails 域类。我知道数据源设置正确,因为我们已经有一堆域类正在更新到数据库就好了。
我得到的错误:
Caused by BatchUpdateException: ORA-00942: table or view does not exist
我尝试运行 DBMUpdate 但也没有创建表。
创建域类时我缺少什么吗?我需要更改更改日志中的某些内容吗?任何建议都会有所帮助!
最简单的方法是添加dbCreate = "update"
到您的 DataSource.groovy。更好的做法是为您的应用程序使用数据库迁移插件。
关于手动创建表,默认情况下遵循的约定 grails 是下划线驼峰式。例如,给定以下域:
class User {
String firstName
String lastName
static hasMany = [addresses: Address]
}
class Address {
static belongsTo = [user: User]
}
您最终会得到以下表格:
user
---------
id
version
first_name
last_name
---------
address
---------
id
version
user_id
---------
试试跑...
grails export-schema
这将使用 Hibernate 的SchemaExport
工具生成 DDL 或导出整个数据库的模式。从该文件中,您可以获取缺失表的行。
查看Grails 快速参考以获取有关该命令的更多详细信息。