在Grails(GORM)中,如何覆盖约束名称

Gau*_*gar 5 grails-orm

Grails(GORM)中,如何覆盖约束名称(在生成的dbm脚本中).我正在使用Oracle和GORM.似乎约束名称的长度限制为15.

如果没有办法覆盖那么有没有办法将长度改为15(比如说25)!

例如

CREATE TABLE X ( 
       id NUMBER(19,0) NOT NULL, 
       CONSTRAINT overridden_name_here 
       PRIMARY KEY (id));   
Run Code Online (Sandbox Code Playgroud)

小智 3

不确定最新的 Grails 3 是否提供了更直接的自定义约束名称的方法,但在 Grails 2.4.5 和更早版本中,方法是使用自定义配置子类。

它本质上涉及通过扩展GrailsAnnotationConfiguration并覆盖secondaryPassCompile()方法来创建您自己的配置。在此方法中,您可以访问域类并访问/设置许多不同的属性,包括外键约束名称之类的属性。

有关详细示例,请参阅 Burt Beckwith 的帖子:http://burtbeckwith.com/blog/ ?p=465

我相信约束名称的长度限制是由底层数据库实现决定的,而不是 GORM 本身。