Liquibase: Difference between revisions
Jump to navigation
Jump to search
Line 91: | Line 91: | ||
== Profiles == | == Profiles == | ||
Four types of profiles considerate for Maven Build. Please find those profiles details as below | Four types of profiles considerate for Maven Build. Please find those profiles details as respectively as below: | ||
# Diff (dat, default) | |||
# Database (der, h2d, hsq, mys, ora, pos, default) | |||
# Context (dev, qac, uat, pro, default) | |||
# Command (log, dif, syn, upd, rol, del, default) | |||
=== Diff === | === Diff === | ||
Line 149: | Line 149: | ||
|- | |- | ||
| log || generateChangeLog || Generate Change Log | | log || generateChangeLog || Generate Change Log | ||
|- | |- | ||
| dif || diff || Generate Database Diff Change Log | | dif || diff || Generate Database Diff Change Log | ||
|- | |- | ||
| syn || changelogSync || Synchronize Database with Change Log | | syn || changelogSync || Synchronize Database with Change Log | ||
|- | |||
| upd || update || Migration/Update Database | |||
|- | |- | ||
| rol || rollback || Rollback Database to the Date/Tag | | rol || rollback || Rollback Database to the Date/Tag |
Revision as of 03:42, 19 September 2018
Path Settings
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
Configuration
mkdir -p $HOME/.chorke/etc/liquibase/init
cp ./src/test/resources/liquibase/*.properties $HOME/.chorke/etc/liquibase/init
cd $HOME/.chorke/etc/liquibase/init
explorer .
Migration Commands
Generate Change Log
# exclude data
mvn clean install -Pmys,dev,log # mysql , development
mvn clean install -Pora,pro,log # oracle, production
mvn clean install -Pdev,log # h2 , development
mvn clean install -Plog # h2 , development
|
# include data
mvn clean install -Pdat,mys,dev,log # mysql , development
mvn clean install -Pdat,ora,pro,log # oracle, production
mvn clean install -Pdat,dev,log # h2 , development
mvn clean install -Pdat,log # h2 , development
|
Differential Change Log
# exclude data
mvn clean install -Pmys,dev,dif # mysql , development
mvn clean install -Pora,pro,dif # oracle, production
mvn clean install -Pdev,dif # h2 , development
mvn clean install -Pdif # h2 , development
|
# include data
mvn clean install -Pdat,mys,dev,dif # mysql , development
mvn clean install -Pdat,ora,pro,dif # oracle, production
mvn clean install -Pdat,dev,dif # h2 , development
mvn clean install -Pdat,dif # h2 , development
|
Synchronize Change Log
mvn clean install -Pmys,dev,syn # mysql , development
mvn clean install -Pora,pro,syn # oracle, production
mvn clean install -Pdev,syn # h2 , development
mvn clean install -Psyn # h2 , development
Migrate/Update Database
mvn clean install -Pmys,dev,upd # mysql , development
mvn clean install -Pora,pro,upd # oracle, production
mvn clean install -Pdev,upd # h2 , development
mvn clean install -Pupd # h2 , development
Rollback Change Log
mvn clean install -Pmys,dev,rol -chorke.tag=20131216 # mysql , development
mvn clean install -Pora,pro,rol -chorke.tag=20131216 # oracle, production
mvn clean install -Pdev,rol -chorke.tag=20131216 # h2 , development
mvn clean install -Prol -chorke.tag=20131216 # h2 , development
Drop All/Clean Database
mvn clean install -Pmys,dev,del # mysql , development
mvn clean install -Pora,pro,del # oracle, production
mvn clean install -Pdev,del # h2 , development
mvn clean install -Pdel # h2 , development
Profiles
Four types of profiles considerate for Maven Build. Please find those profiles details as respectively as below:
- Diff (dat, default)
- Database (der, h2d, hsq, mys, ora, pos, default)
- Context (dev, qac, uat, pro, default)
- Command (log, dif, syn, upd, rol, del, default)
Diff
Porfile | Note | Diff Types |
---|---|---|
dat | Include Data | tables,views,columns,indexes,foreignkeys,primarykeys,uniqueconstraints,data |
default | Exclude Data | tables,views,columns,indexes,foreignkeys,primarykeys,uniqueconstraints |
Database
Porfile | Database | Type | JDBC | Notes |
---|---|---|---|---|
der | Apache Derby | derby | jdbc:derby | No Issues |
h2d | H2 | h2 | jdbc:h2:file | No Issues |
hsq | HSQL | hsqldb | jdbc:hsqldb:file | No Issues |
mys | MySQL | mysql | jdbc:mysql | No Issues |
ora | Oracle | oracle | jdbc:oracle:thin | 11g driver for diff with AL32UTF8 or AL16UTF16 |
pos | PostgreSQL | postgresql | jdbc:postgresql | 8.2+ for drop all database objects |
default | MySQL | mysql | jdbc:mysql | No Issues |
Context
Porfile | Context | Notes |
---|---|---|
dev | Development | For Development Environment |
qac | Quality Assurance & Control | For QA Environment |
uat | User Acceptance Test | For UAT Environment |
pro | Production | For Production Environment |
default | Development | For Development Environment |
Command
Porfile | Commands | Notes |
---|---|---|
log | generateChangeLog | Generate Change Log |
dif | diff | Generate Database Diff Change Log |
syn | changelogSync | Synchronize Database with Change Log |
upd | update | Migration/Update Database |
rol | rollback | Rollback Database to the Date/Tag |
del | dropAll | Empty/Clean Database |
default | generateChangeLog | Generate Change Log |