Как изменить столбец, используя Groovy DSL плагина миграции базы данных Grails? - PullRequest
5 голосов
/ 02 июня 2011

Можете ли вы привести пример отличной ревизии с использованием метода modifyDataType?

Я пробовал это:

databaseChangeLog = {
  changeSet(author: "user", id: "5-1") {
        modifyDataType(tableName: "test", columnName: "description4", newDataType: "int(11)")
    }
}

Но modifyDataType не распознается. Я тоже пробовал modifyColumn, но получаю тот же результат.

Основной вопрос: какие теги поддерживает dsl и как они используются?

Ответы [ 2 ]

9 голосов
/ 03 июня 2011

Все рефакторинги Liquibase должны работать - Groovy DSL отражает XML Liquibase. У меня не было теста для modifyDataType, но я добавил его в свой тестовый скрипт, и он работал нормально - см. https://github.com/grails-plugins/grails-database-migration/blob/master/testapp/price.changelog.groovy

Было бы полезно выяснить, что не так, если бы вы могли показать некоторую информацию о том, как он выходит из строя.

0 голосов
/ 29 января 2015

Будет работать так:

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)")
  }
}
...