你可以給我一個使用modifyDataType
方法的groovy變更集的例子嗎?如何使用Grails的數據庫遷移插件的Groovy DSL修改列?
我嘗試這樣做:
databaseChangeLog = {
changeSet(author: "user", id: "5-1") {
modifyDataType(tableName: "test", columnName: "description4", newDataType: "int(11)")
}
}
但modifyDataType
無法識別。我也試過modifyColumn
,但我得到了同樣的結果。
潛在的問題是:dsl支持哪些類型的標籤,以及它們是如何使用的?
因爲插件仍處於開發階段(當前版本0.2.1),該文件可能是沒有完全支持,因爲這將是一次插件達到1.0 。我原以爲它會支持任何[liquibase重構](http://www.liquibase.org/manual/home),但鑑於你的經驗,顯然不是?您可以隨時嘗試[打開JIRA問題](http://jira.grails.org/secure/Dashboard.jspa),查看它是否可以添加到文檔中。 – 2011-06-02 22:13:06
此外,FWIW,更改域屬性的名稱並運行'dbm-gorm-diff file.groovy',將使用「dropColumn」和「addColumn」創建更改集,而不是使用修改。列重命名/修改可能在路線圖上。您可以編寫自己的自定義更改集以在短期內遷移數據。 – 2011-06-02 22:20:38
儘管插件僅在v0.2.1,但它非常穩定,實際上是1.0版本候選版本。在官方1.0之前有幾個我想要修復的開放性問題,當然它需要更多的文檔,但否則它基本上是功能完整的。 – 2011-06-02 23:25:11