Grails database - migration with db anostic attribute

Is there a way in the Grails data migration plugin to define properties in migration files to be able to define agnostic database migration, as is possible in Liquibase?

I tried:

databaseChangeLog = { property([name:"boolean.type", value:"bit(1)",dbms:"mysql" ]) property([name:"boolean.type", value:"number(1,0)", dbms:"oracle"]) ... } 

and using it in the colum definition:

 changeSet(author: "me", id: "121112341-1") { createTable(tableName: "test_table") { ... column(name: "my_column", type: "${boolean.type}") ... } } 

but it does not work ...

+2
source share
1 answer

There is a GString in the Groovy file "${boolean.type}" , so Groovy is trying to resolve the type property of the boolean variable. You need to use single quotes, so Groovy leaves the string alone and allows Liquibase to replace the dbms:

 column(name: "my_column", type: '${boolean.type}') 
+1
source

Source: https://habr.com/ru/post/976564/


All Articles