保持从 Grails 域到数据库的列顺序

Igo*_*gor 5 grails grails-orm

当 Grails 从域对象创建表时,是否可以指定列顺序?我希望它保留域中指定的列顺序。相反,它似乎主要是按字母顺序排列的。我在文档中找不到任何内容。我发现这篇文章详细说明了指定约束,但这似乎并没有解决数据库列的问题。

例子:

class Foo {
    Long id
    String zee
    Integer baz
    Integer bar
}
Run Code Online (Sandbox Code Playgroud)

我希望然后将数据库列排序为:

id | zee | baz | bar
Run Code Online (Sandbox Code Playgroud)

相反,我更接近于:

id | bar | baz | zee
Run Code Online (Sandbox Code Playgroud)

cde*_*zaq 2

您始终可以在 Grails 之外创建数据库,并按照您希望的任何顺序放置列,Grails 会很乐意使用您提供的架构(假设只有列顺序与其默认创建的顺序不同)

正如 @Burt 指出的,更好的选择是使用数据库迁移插件来创建(和管理)数据库。它允许您以与数据库无关的方式对数据库进行细粒度控制,并且还具有使数据库架构和架构更改与代码一起进行版本控制的巨大优势,以进行升级和回滚