這里本人是在MAC機上安裝使用
1. 下載 mybatis-migraions安裝包,地址:https://www.oschina.net/news/94218/mybatis-migrations-3-3-2-released
GitHub download address: https://github.com/mybatis/migrations/releases/download/mybatis-migrations-3.3.2/mybatis-migrations-3.3.2-bundle.zip
2. 解壓安裝包,放在自己定義的目錄下,(mac)這里是/Users/xxx/mybatis-migrations 下
3. 設置環境變量,(mac)命令行:
vi ~/.bash_profiles
export MIG_HOME=/Users/xxx/mybatis-migrations
export PATH="$MIG_HOME/bin:$PATH"
按esc,保存:wq
立即刷新配置,source ~/.bash_profile
4. 初始化目錄:這里目錄放在 /Userx/xxx/mybatis-migrations/db
命令: migrate init
5. 新建數據庫變更,命令:migrate new "liyq add table tabc"
tabc是新建表
6. 查看目標DB狀態,migrate status
7. 更新執行的腳本,migrate up
8. 后退執行腳本: migrate down
9. 以上status up down 命令 都可以加參數 --evn=uat
比如:migrate status --env=uat用來查看uat.properties中指向的那個目標DB的當前狀態;
沒有指定env參數時,默認為development;
通過這個簡單的參數,團隊可以輕松的管理多個DB環境狀態,任意切換、前進和后退,而腳本只有一套。
10. 生成DB變更腳本, 你可能會打算直接在DB目錄中找出需要發布的腳本文件拿到生產環境去執行,但這樣做就跟沒有使用Migrations的團隊沒什么區別了;
Migrations的script命令就是用來做這件事的,執行下列命令,你會得到想要的東西:
命令:migrate script 20130614164456 20130709163435 > release20130710.sql
如果將上面命令中的兩個版本號對調位置,得到的就是本次系統發布的DB回退腳本,
一旦你在生產DB執行了數據庫變更后又不想發布應用了(比如突然發現這個應用版本存在嚴重缺陷),
那么這個回退腳本就派上用場了——它能幫你把生產DB恢復到之前的狀態——能夠使前一版本應用正常工作的狀態,而不至於使你陷入進退兩難!
11. 新建腳本, migrate new "add_tables_0308", 然后,你會在migration的db/scripts下,看到 20190308103231_add_tables_0308.sql這個文件
12. 填寫腳本內容,vi 20190308103231_add_tables_0308.sql
-- Migration SQL that makes the change goes here. 需要做的SQL
輸入如下:
create table szl_info(
id bigint(20) not null auto_increment primary key,
szl_infors varchar(2000),
yn int(1)
);
commit;
-- SQL to undo the change goes here. 回退做的SQL
輸入如下說:
drop table szl_info;
按ecs, 保存 :wq
13. 執行正向看步驟7,執行逆向看步驟8。
附加多環境配置執行,以migrate up為例,比如我們現在有2個庫,配置文件名分別為:local00.properties local01.properties,那我們使用如下命令一次性執行2個庫的操作,如下:
migrate up --env=local00 | migrate up --env=local01