脚本自动维护
3.5.3 +
版本支持
数据库 DDL
表结构执行 SQL
自动维护功能
👉 mybatis-plus-sample-ddl-mysql (opens new window)
- 数据库
Schema
初始化,升级SQL
自动维护,区别于flyway
支持分表库、可控制代码执行 SQL 脚本 - 首次会在数据库中生成
ddl_history
表,每次执行SQL脚本
会自动维护版本信息。
提示
需要注意的是针对当前数据源执行 DDL
如果脚本中存在切换数据源创建数据库操作可能会异常。
不同数据库需要切换数据源后动态执行脚本命令即可。
该功能为 企业级高级特性
开源版
@Component
public class MysqlDdl implements IDdl {
/**
* 执行 SQL 脚本方式
*/
@Override
public List<String> getSqlFiles() {
return Arrays.asList(
"db/tag-schema.sql",
"D:\\db\\tag-data.sql"
);
}
}
// 切换到 mysql 从库,执行 SQL 脚本
ShardingKey.change("mysqlt2");
ddlScript.run(new StringReader("DELETE FROM user;\n" +
"INSERT INTO user (id, username, password, sex, email) VALUES\n" +
"(20, 'Duo', '123456', 0, 'Duo@baomidou.com');"));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
帮助我们改善此页面! (opens new window)
上次更新: 2022/12/25, 11:30:06