Liquibase: Difference between revisions
Jump to navigation
Jump to search
Line 92: | Line 92: | ||
== Profiles == | == Profiles == | ||
Four types of profiles considerate for Maven Build. Please find those profiles details as respectively as below: | Four types of profiles considerate for Maven Build. Please find those profiles details as respectively as below: | ||
# Diff (dat, default) | # Diff (<code>dat</code>, <code>default</code>) | ||
# Database (der, h2d, hsq, mys, ora, pos, default) | # Database (<code>der</code>, <code>h2d</code>, <code>hsq</code>, <code>mys</code>, <code>ora</code>, <code>pos</code>, <code>default</code>) | ||
# Context (dev, qac, uat, pro, default) | # Context (<code>dev</code>, <code>qac</code>, <code>uat</code>, <code>pro</code>, <code>default</code>) | ||
# Command (log, dif, syn, upd, rol, del | # Command (<code>log</code>, <code>dif</code>, <code>syn</code>, <code>upd</code>, <code>rol</code>, <code>del</code>) | ||
Where <code>default</code> profiles are blank. Need not to mention in Maven Build. | |||
=== Diff === | === Diff === | ||
Line 159: | Line 161: | ||
|- | |- | ||
| del || dropAll || Empty/Clean Database | | del || dropAll || Empty/Clean Database | ||
|} | |} | ||
Revision as of 03:50, 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
)
Where default
profiles are blank. Need not to mention in Maven Build.
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 |