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
|
References