MyBatis-Migrations安裝和使用


這里本人是在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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM