6

我刚刚在一个刚开始工作的项目上创建了一个新的 grails 域类。我知道数据源设置正确,因为我们已经有一堆域类正在更新到数据库就好了。

我得到的错误:

Caused by BatchUpdateException: ORA-00942: table or view does not exist

我尝试运行 DBMUpdate 但也没有创建表。

创建域类时我缺少什么吗?我需要更改更改日志中的某些内容吗?任何建议都会有所帮助!

4

2 回答 2

6

最简单的方法是添加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
---------
于 2013-07-09T16:36:54.097 回答
4

试试跑...

grails export-schema

这将使用 Hibernate 的SchemaExport工具生成 DDL 或导出整个数据库的模式。从该文件中,您可以获取缺失表的行。

查看Grails 快速参考以获取有关该命令的更多详细信息。

于 2014-03-20T16:04:44.047 回答