DevOps DevOps
产品简介
产品安装
快速入门
使用指南
开发指南
FAQ
  • Mysql ddl数据文件转换
  • 使用场景
  • 配置说明
  • 使用注意
  • 其他说明
  • maven插件说明

# Mysql ddl数据文件转换

# 使用场景

将mysql的ddl数据文件转换成其他数据库类型可执行的文件

mysql-script-convert-base

# 配置说明

属性 属性名称 配置说明
toDbType 转化的数据库类型 目标数据库类型,支持多选,多选时会在转换后的sql脚本目录下创建对应目标类型目录。
dir mysql脚本目录位置 mysql脚本位置,支持文件夹嵌套获取,不填默认workspace根目录
includes 包括文件 多个逗号分割,支持正则匹配
excludes 排除文件 多个逗号分割,支持正则匹配
toDir 转换后的sql脚本位置 转换后脚本相对于workspace根目录位置,不能填写mysql脚本目录位置的子目录!多选时会在目标目录下多建立一层类型目录。
sqlConvertMappings 自定义任意sql转换映射 (用|分割)规则,多个逗号分隔,自动忽略大小写,示例:varchar(4096)|varchar(512)
columnTypeConvertMappings 自定义列类型转换映射 (用|分割)规则,多个逗号分隔,自动忽略大小写,示例:varchar(4096)|varchar(512)
charset 文件编码 mysql脚本编码,默认UTF-8
packagingType 打包类型 打包类型,除了不打包,其他情况下会在工作空间根目录打包一个目标目录名称的压缩包

# 使用注意

1、自定义sql转换映射顺序为:原文本先通过 自定义任意sql转换映射,在通过 自定义列类型转换映射,最后通过插件内置映射规则。

2、目标目录不能填写mysql脚本目录位置的子目录。

3、目标数据库类型多选时,会在转换后的sql脚本目录下创建对应目标类型目录,而单选的时候不会。

# 其他说明

原子任务运行依赖com.primeton.eos.maven.plugin:eos-ptp-maven-plugin插件,如果需要更新插件,请更新该平台参数,并在对应jenkins的maven-data中放入对应的jar和pom文件

Engine.MysqlScriptConvertPlugin

mysql-script-convert-base

# maven插件说明

可以单独下载mysql转换maven插件,通过mvn命令执行mysqll转换

1、插件:com.primeton.eos.maven.plugin:eos-ptp-maven-plugin:8.3.1:mysql-script-convert 参数:
dir: mysql脚本目录位置(必填)
includes:包含的文件匹配,可以没有
excludes:排除的文件匹配,可以没有
toDbType:转化的数据库类型(必填)支持多个逗号分割,比如:dm,oracle,db2,sqlserver,gaussdb,pg,kingbasees
toDir:转换后的sql脚本位置,如果不配置,则为同级父目录/toDbType
sqlConvertMappings:自定义任意sql转换映射(用|分割)规则,多个逗号分隔,自动忽略大小写,示例:varchar(4096)|varchar(512)
columnTypeConvertMappings:自定义列类型转换映射(用|分割)规则,多个逗号分隔,自动忽略大小写,示例:varchar(4096)|varchar(512)

2、可以通过添加转换源文件注释,完成特殊sql的自定义转换,每个注释仅对紧跟的一条sql生效
注释中自定义转换(=>toDbType:)

单个示例:

    /**
    =>Oracle:
    update a set b='1';
    */

多个示例:

    /**
    =>Oracle:
    update a set b='1';
    =>dm:
    update b set c='1';
    */

3、命令示例:

mvn com.primeton.eos.maven.plugin:eos-ptp-maven-plugin:8.3.1:mysql-script-convert "-Ddir=D:\work\git\devops\devops-specs\com.primeton.devops.specs.model\src\META-INF\scripts\devops\upgrade\Mysql" "-DtoDbType=dm" "-DtoDir=d:/download/dm"

← 空操作 Ant构建 →