你能用modifyDataType
方法给我一个groovy变更集的例子吗?
我试过了:
databaseChangeLog = {
changeSet(author: "user", id: "5-1") {
modifyDataType(tableName: "test", columnName: "description4", newDataType: "int(11)")
}
}
但modifyDataType
无法识别。我也尝试了modifyColumn
,但我得到了相同的结果。
基本问题是:dsl支持哪种标签,以及它们是如何使用的?
答案 0 :(得分:9)
所有Liquibase重构都应该有效 - Groovy DSL反映了Liquibase XML。我没有对modifyDataType进行测试,但将其添加到我的测试脚本中并且工作正常 - 请参阅https://github.com/grails-plugins/grails-database-migration/blob/master/testapp/price.changelog.groovy
如果能够显示一些有关它失败的信息,那么找出错误是有用的。
答案 1 :(得分:0)
它会像这样工作:
databaseChangeLog = {
changeSet(author: "test (generated)", id: "1422541392309-2") {
comment { 'Rename tabTitle to tabName' }
renameColumn(tableName: "user", oldColumnName: "tab_title", newColumnName: "tab_name", columnDataType: "varchar(255)")
}
}