MyBatis-Plus MyBatis-Plus
首页
  • 快速入门
  • 核心功能
  • 扩展
  • 插件
  • 使用配置
  • 代码生成器配置新
  • 代码生成器配置旧
生态
问答
💖支持
  • 数据处理模块
  • 单体开发平台
  • 微服务开发平台
  • 插件式一体化开发平台
更新日志 (opens new window)
GitHub (opens new window)
首页
  • 快速入门
  • 核心功能
  • 扩展
  • 插件
  • 使用配置
  • 代码生成器配置新
  • 代码生成器配置旧
生态
问答
💖支持
  • 数据处理模块
  • 单体开发平台
  • 微服务开发平台
  • 插件式一体化开发平台
更新日志 (opens new window)
GitHub (opens new window)
  • 快速入门

    • 简介
    • 快速开始
    • 安装
    • 配置
    • 注解
    • 快速测试
  • 核心功能

    • 代码生成器(新)
    • 代码生成器(旧)
    • CRUD 接口
    • 条件构造器
    • 主键策略
    • 自定义ID生成器
  • 扩展

    • 逻辑删除
    • 通用枚举
    • 字段类型处理器
    • 自动填充功能
    • SQL注入器
    • 执行SQL分析打印
    • 数据安全保护
    • 多数据源
    • MybatisX快速开发插件
    • 企业高级特性
    • 脚本自动维护
  • 插件

    • 插件主体
    • 分页插件
    • 乐观锁插件
    • 多租户插件
    • 防全表更新与删除插件
    • 动态表名插件

脚本自动维护

  • 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
帮助我们改善此页面! (opens new window)
上次更新: 2022/12/25, 11:30:06
企业高级特性
插件主体

← 企业高级特性 插件主体→

Theme by Vdoing | Copyright © 2016-2023 Team Baomidou | Sponsored by JetBrains | 渝ICP备2021000141号-1

友情链接:AiZuDa | D.Yang | NanCheung | apidocsBlog

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×