yugong 支持 SQL Server < -> MySQL

q3aa0525  于 2021-11-29  发布在  Java
关注(0)|答案(33)|浏览(525)

@agapple
我现在开发了 MySQL <-> SQL Server 的模块特性如下:

DB 支持:

  • 支持 MySQL <-> SQL Server,支持 CHECK / FULL 模式

运行环境:

  • 部署模式调整为 fat jar 模式
  • 新增特性的配置文件使用 YAML 配置

Translator 方面:

  • 支持了 MySQL 5.7 的 JSON 字段 Compress / Extract,可以将多个字段压缩进去。
  • 支持字段 NameStyle 的变化,比如将 UPPER_CAMEL 转换为 LOWER_UNDERSCORE
  • 支持了字段批量 replace 操作,比如 ID -> Id

目前已经运用到生产环境。
但是改动较大,想咨询一下,以什么样的方式提交 PR。

pcww981p

pcww981p31#

请问这个PR什么进展。有计划合并进来么?

dly7yett

dly7yett32#

这个语法还是不错,清晰直接

js4nwp54

js4nwp5433#

@agapple 正在申请代码开源中。YAML 配置范例如下:

translators:
  record:
    '|BEFORE|':
      - class: com.taobao.yugong.translator.NameStyleDataTranslator
        properties:
          column_case_format_from: UPPER_CAMEL
          column_case_format_to: LOWER_UNDERSCORE
          table_case_format_from: UPPER_CAMEL
          table_case_format_to: LOWER_UNDERSCORE
          schema_to: hj_product
      - class: com.taobao.yugong.translator.ColumnFixDataTranslator
        properties:
          column_replace:
            i_d: id
    ATable:
      - class: com.taobao.yugong.translator.ColumnFixDataTranslator
        properties:
          column_alias:
            bussiness_id:
              - business_id
            is_high_light:
              - is_highlight
      - class: com.taobao.yugong.translator.ColumnFixDataTranslator
        properties:
          json_compress:
            ext_field:
              - mark
              - tags
              - ad_id

支持全局更换表名、列名风格;列名字符串替换;多个字段压缩到 JSON 字段内。

相关问题