Grails db-migration插件--sql vs'捆绑更改'

时间:2016-03-18 15:56:36

标签: mysql grails liquibase

背景: 我有一个用Grails编写的Web应用程序的后端,它与MySQL数据库进行通信。我使用Grails数据库迁移插件来控制数据库结构,updateOnStart设置为true(我很少使用插件的命令行界面)。

问题: 使用SQL查询和'捆绑更改之间是否存在任何实际差异?在变更集中?

实施例: 我有什么理由可以这样做吗青睐:

addColumn(tableName: 'table_x'){
    column(name: 'new_column', type: 'int', defaultValue: 0){
        constraints(nullable: 'false')
    }
}

sql(sql: 'ALTER TABLE table_x ADD COLUMN new_column INT NOT NULL DEFAULT 0;')

?或者那两个是完全可以互换的?

1 个答案:

答案 0 :(得分:1)

这取决于您创作的SQL。只要您编写可移植SQL然后就没关系,只有当您针对不支持您编写的SQL的不同类型的数据库时才重要。