1.MyBatis Migrations安装以及初始化配置(Linux)

1.安装MyBatis Migrations

MyBatis Migrations Github Releases下载最新版MyBatis Migrations。

wget -c https://github.com/mybatis/migrations/releases/download/mybatis-migrations-3.3.11/mybatis-migrations-3.3.11-bundle.zip

解压并重命名

unzip -q mybatis-migrations-3.3.11-bundle.zip
mv mybatis-migrations-3.3.11 mybatis-migrations

移动到/opt目录

sudo mv mybatis-migrations /opt

配置MIGRATIONS_HOME、MIGRATIONS、PATH环境变量

echo 'export MIGRATIONS_HOME="/opt/mybatis-migrations"' >> ~/.bashrc
echo 'export MIGRATIONS="$MIGRATIONS_HOME/bin"' >> ~/.bashrc
echo 'export PATH="$MIGRATIONS:$PATH"' >> ~/.bashrc

清理

rm mybatis-migrations-3.3.11-bundle.zip

重启终端,验证安装是否成功

migrate info

2.初始化迁移路径

假设Spring Boot项目目录名称为demo,位于用户目录下。

注:Migrations目录无需手动创建,会被自动创建。

migrate init --path=~/demo/Migrations

最终Migrations目录结构如下:

/Migrations
  /drivers
    mysql-connector-java-8.0.30.jar
  /environments
    development.properties
    test.properties
    production.properties
  /scripts
    20220903111800_create_changelog.sql
    20220903111801_first_migration.sql
    bootstrap.sql
  README

3.安装MySQL驱动

下载Connector/J 8.0.30驱动。

wget -c https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.30.tar.gz

解压

tar -zxf mysql-connector-java-8.0.30.tar.gz

复制mysql-connector-java-8.0.30.jar到Migrations/drivers目录

cd mysql-connector-java-8.0.30
cp mysql-connector-java-8.0.30.jar ~/demo/Migrations/drivers

清理

cd
rm mysql-connector-java-8.0.30.tar.gz
rm -rf mysql-connector-java-8.0.30

4.development.properties

需提前手动创建好数据库。

## 时区
time_zone=GMT+8:00

## 脚本编码字符集
# script_char_set=UTF-8

## 跟踪数据库更改的表名
changelog=CHANGELOG

## JDBC连接属性
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/springblog
username=root
password=Password-4-Root

## 配置驱动路径,默认"migrate init"创建的driver目录
# driver_path=

## 逗号语句分隔符
delimiter=;

## 整行分隔符,比如"GO" 或 "/" 或 "!RUN!"
full_line_delimiter=false

## 如果为true:忽略逗号语句分隔符,把所有语句当成一条语句发送
## 如果为false:凡遇到逗号语句分隔符,迁移语法会自动断句,当成多条语句发送
## 应用场景:函数等内嵌的逗号语句分隔符与迁移语法的逗号语句分隔符冲突
## 解决方案1:配置为true,忽略逗号语句分隔符,把所有语句当成一条语句发送
## 解决方案2:配置为flase,使用整行分隔符替代函数等内嵌的逗号语句分隔符
send_full_script=false

## 如果为true,每条语句被隔离在自己的事务中
## 如果为flase,整个脚本在一个事务中执行
## 很少有数据库需要配置为true
auto_commit=false

## 如果为flase,从数据库返回的警告将中断迁移
ignore_warnings=true

## 变量
## 迁移文件使用${变量名}调用
# 变量名=值

5.20220903111801_first_migration.sql

20220903111801_first_migration.sql为一个空的示例迁移脚本,示例代码如下:

-- // First migration.
-- Migration SQL that makes the change goes here.
CREATE TABLE BLOG (
  ID INT,
  NAME VARCHAR(255),
  PRIMARY KEY(ID)
);


-- //@UNDO
-- SQL to undo the change goes here.
DROP TABLE BLOG;

new命令可以帮助我们自动生成迁移脚本的骨架

cd ~/demo/Migrations
migrate new "create blog table"
//自动生成示例
20090807221758_create_blog_table.sql

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/mybatis-migrations/17036.html

(0)
上一篇 2022年9月1日 00:42
下一篇 2022年9月1日 17:42

相关推荐

  • 3.MyBatis Migrations Hooks

    您可以编写在 up/down 操作之前或之后执行的钩子脚本,支持使用SQL或JSR-223兼容的脚本语言。 1.创建钩子脚本 在基本目录中创建一个名为hooks的目录。 在hooks目录创建hello.js钩子脚本。 2.配置 钩子脚本是通过在环境属性文件(例如:development.properties)中添加一行…

  • 2.MyBatis Migrations常用命令一览表

    1.命令 命令 描述 info 显示构建版本信息 init 创建(如果有必要)和初始化一个迁移路径 bootstrap 运行 bootstrap SQL 脚本 (参见 scripts/bootstrap.sql 了解更多) new 使用提供的描述创建一个新的迁移 status 如果changelog表存在,则从数据库打…

发表回复

登录后才能评论