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
MyBatis-Migrations安装和使用的更多相关文章
- IntelliJ IDEA MyBatis插件安装
打开IntelliJ IDEA工具,打开菜单File--> Settings 选择 Plugins,点击Browse repositories,在搜索框输入MyBatis.
- mybatis介绍安装
MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单 ...
- mybatis(一)安装
1.创建web项目,添加jar包 2.创建实验表user_t 3.在src下创建conf.xml文件,如下 <?xml version="1.0" encoding=&quo ...
- mybatis 插件安装与使用
安装 1.在MarketPlace 中搜索 MyBatipse 安装 2.下载MyBatipse 插件 使用 ......
- Mybatis学习第一天——Mybatis的安装配置以及基本CURD操作
1.Mybatis下载 Mybatis是开源的持久层框架,能够度jdbc进行简单的封装,但其并不是完全的ORM(Object Relational Mapping,对象关系映射),无法脱离数据库进行适 ...
- Mybatis Generator 安装(idea+maven)
1.在Intellij IDEA创建maven项目(本过程比较简单,略) 2. 在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 <bui ...
- idea 安装mybatis plugin (mybatis插件)
注意:可以用免费版本的,就是下面没有 被红框圈中的 Free Mybatis Plugin 安装上以后需要破解,先找到下面的文件 打开文件,设置其中的key 和 value : 这里面的key 和 v ...
- Mybatis Plugin插件安装破解及使用
2018年2月更新 2018年2月份,提供一个网上比较多的一个版本V3.21版本,下载资源里面有个已整合版直接解压放入C:\Users\你的用户名\.IntelliJIdea2017.3\config ...
- IDEA mybatis mapper类跳转到xml文件
安装插件 free mybatis plugin,安装完成后重启,ctrl+单击即可跳转.
随机推荐
- [LeetCode] 399. Evaluate Division 求除法表达式的值
Equations are given in the format A / B = k, where A and B are variables represented as strings, and ...
- [LeetCode] 628. Maximum Product of Three Numbers 三个数字的最大乘积
Given an integer array, find three numbers whose product is maximum and output the maximum product. ...
- python递归函数(10)
一个函数在函数体内部调用自己,这样的函数称为递归函数,递归的次数在python是有限制的,默认递归次数是997次,超过997次会报错:RecursionError. 一.递归函数案例 案例一:计算数字 ...
- Tomcat详解|乐字节
大家好,欢迎来到乐字节小乐的Java技术分享园地.这次给大家分享的是Tomcat 一. 什么是 Tomcat Tomcat 是一个符合 JavaEE WEB 标准的最小的 WEB 容器,所有的 J ...
- Qt5 QtQuick系列----QtQuick的Secne Graph剖析(3)-- qml与OpenGl结合
我读的书愈多,就愈亲近世界,愈明了生活的意义,愈觉得生活的重要. -- 高尔基 需要先看:https://blog.csdn.net/qq_35865125/article/details/86485 ...
- TCP粘包和拆包的定义,产生的原因以及解决方案
TCP粘包:指发送方发送的若干数据包在接收方接收时粘成一团,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾 产生的原因: 1.发送方的原因:TCP默认使用Nagle算法,而Nagle算法主要做两件 ...
- [转帖]Linux教程(20)- Linux中的Shell变量
Linux教程(20)- Linux中的Shell变量 2018-08-24 11:30:16 钱婷婷 阅读数 37更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博 ...
- Mac上go的下载安装教程
mac上go的下载安装教程 官网https://golang.google.cn/dl/下载,安装 环境变量配置 参考https://www.jianshu.com/p/5c1873eaf3ca Ba ...
- Python生成流水线《无限拍卖》文字!
话说,原文也是这样流水线生产的吧··· 代码 import random one_char_word=["烈","焰","冰"," ...
- [LOJ2541] [PKUWC2018] 猎人杀
题目链接 LOJ:https://loj.ac/problem/2541 Solution 很巧妙的思路. 注意到运行的过程中概率的分母在不停的变化,这样会让我们很不好算,我们考虑这样转化:假设所有人 ...