yugong 支持 SQL Server < -> MySQL

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

@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。

4c8rllxm

4c8rllxm1#

你有分支么?我可以提前看看,YAML配置的变化能具体一些么?

js4nwp54

js4nwp542#

@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 字段内。

dly7yett

dly7yett3#

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

pcww981p

pcww981p4#

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

sycxhyv7

sycxhyv75#

@stardustliu 苦逼被赶到其他项目奋斗了,如果大家有需求,我把 PR 弄出来。

avwztpqn

avwztpqn6#

@alswl 有需求。也是赶项目…………

gcxthw6b

gcxthw6b8#

@stardustliu 申请完成,已经提交了源码,在和 @agapple 沟通,想尝鲜可以直接使用我的分支 https://github.com/alswl/yugong/tree/feature/sql-server-to-mysql-overview
(这个分支其实也挺稳定,在线模式线上运行了 3 个月,离线模式也一直在使用)。

nbysray5

nbysray59#

@alswl 仔细看了下代码,私聊我一下你的联系方式,weixin沟通一下合并的方案

kxe2p93d

kxe2p93d10#

@agapple 邮件已经发给了你的邮箱 jianghang115(a)gmail.com 。

zmeyuzjn

zmeyuzjn11#

请问下目前这个PR的进展如何了?现在本公司有sql server --> mysql 的需求

sauutmhj

sauutmhj12#

@hdpter 目前还没有合并到上游,如果急用可以使用我那个分支。

dm7nw8vv

dm7nw8vv13#

@alswl 这个PR现在进展如何?你提供的那个分支 jar 包 gitlab的连接无效了

olhwl3o2

olhwl3o214#

可以自行打包编译一份出来。…

On Fri, Nov 23, 2018 at 1:40 PM eason0420***@***.***> wrote: @alswl <https://github.com/alswl> 这个PR现在进展如何?你提供的那个分支 jar 包 gitlab的连接无效了 — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#50 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAN46okluunI_mNc2VK5oEMZ4N6L1q6Gks5ux4pFgaJpZM4NrwNG> .

-- -- alswl

vlf7wbxs

vlf7wbxs15#

@alswl 问下这个地方是放什么配置的,还需要我自己安装配置canal吗?
必须使用软连接?还是可以把配置放在canal_conf下
canal_conf -> ../yugong-conf/pass-state-2-pre/canal_conf

相关问题