oracle - 新的 Grails 域类未在数据库中创建表

标签 oracle hibernate grails grails-orm

我刚刚在一个我刚刚开始工作的项目上创建了一个新的 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
---------

关于oracle - 新的 Grails 域类未在数据库中创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17552675/

相关文章:

java - 无法使用hibernate生成表

Grails Assets 管道 - 没有可用的

grails - 哪个框架用于访问 couchDB 的门户网站?

sql - 在 DISTINCT SELECT 中组合 Oracle SQL 中的结果

sql - 带时区的 Oracle DateTime 查询

oracle,从 View 访问成员函数

sql - Oracle 对 View 使用提示索引并强制其到基表

java - 与 Spring Data 双向关系的@Transactional 返回 null

grails - 在 Grails 3 中传递参数的最佳实践

java - Hibernate:如何在相同条件下重用别名?