postgresql - How to specify schema location for changelog tables -
is there way specify schema liquibase creates database changelog tables (databasechangelog , databasechangeloglock)?
i'm using postgresql , gradle. defined schema application (e.g. myapplication).
when run liquibase update task gradle, application specific tables correctly created inside 'myapplication' schema, liquibase changelog stuff created in 'public' schema.
not covered in documentation, available in current versions of liquibase (i'm not sure how far applies) command line arguments
--liquibasecatalogname
and
--liquibaseschemaname
using these allow keep "managed schema" , "liquibase schema" separate.
for gradle, think specify these in configuration block:
liquibase { activities { main { changelogfile 'changelog.groovy' url 'jdbc:h2:db/liquibase_workshop;file_lock=no' username 'sa' password '' changelogparameters([ mytoken: 'myvalue', second: 'secondvalue']) liquibaseschemaname 'myliquibaseschema' defaultschemaname 'myapplicationschema' } second { changelogfile 'second.groovy' url 'jdbc:h2:db/liquibase_workshop;file_lock=no' username 'sa' password '' changelogparameters([ mytoken: 'myvalue', second: 'secondvalue']) } } // runlist = project.ext.runlist // runlist = 'main' runlist = 'main, second' }
if using properties file, properties set same names command line options, have this:
liquibaseschemaname=myliquibaseschema
Comments
Post a Comment