zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    工业互联网兴起
    互联网经济学
    广泛应用的区块链技术
    工业互联网数据传输探讨
    谈谈网站性能
    深入探讨vue响应式原理
    工业互联网虚拟数字
    对www.518shengmao.com站资源打包,采用vue Node.js
    jquery的事件命名空间详解
    巧用索引与变量
  • 原文地址:https://www.cnblogs.com/jimmyshan-study/p/10973491.html
Copyright © 2011-2022 走看看