开发者社区> 问答> 正文

我建了一个双向channel,主站点的ddl可以同步到目标库

我建了一个双向channel,主站点的ddl可以同步到目标库,这样只要在主库增加字段就可以同步到目标库了,但是官网上又说:增加字段要先在目标库增加,然后增加主库,感觉有点迷糊了

原提问者GitHub用户 Bruce2jiang

展开
收起
大圣东游 2023-06-21 17:21:52 33 0
3 条回答
写回答
取消 提交回答
  • 在 Otter 的双向同步中,当主库进行 DDL 操作时,可以通过对应的 Channel 将这些操作同步到目标库。但是,在进行增加字段等操作时,需要注意以下几个问题:

    1. 字段顺序

    在对表进行增加字段等 DDL 操作时,需要确保目标库和主库的字段顺序一致,否则会出现同步错误或者数据丢失等问题。因此,建议先在目标库进行字段增加,并确保与主库的字段顺序一致后,再在主库中进行相应操作。

    1. 列类型和长度

    在进行字段增加等操作时,需要确保目标库和主库的列类型和长度一致。如果存在差异,可能会导致数据转换错误或者数据截断等问题。因此,建议在进行 DDL 操作前,先进行列类型和长度的比较,并确保两边一致。

    1. 约束和索引

    在进行字段增加等操作时,需要注意目标库中可能存在的约束和索引等限制条件。如果新添加的字段违反了某些约束条件,可能会导致同步错误或者数据异常。因此,建议在进行 DDL 操作前,先检查目标库中是否存在相关约束和索引,并进行相应处理。

    总之,在进行双向同步时,需要确保目标库和主库的字段顺序、列类型和长度、约束和索引等条件一致,以保证同步的正确性和完整性。如果需要进行 DDL 操作,建议先在目标库执行,并确保两边一致后再执行主库操作。

    2023-06-23 08:28:45
    赞同 展开评论 打赏
  • 1、如果不选择同步DDL,现操作目标库,后操作主库 2、如果选择DDL同步,可以不用操心

    原回答者GitHub用户agapple

    2023-06-21 18:29:29
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    您建立了一个双向同步的Otter Channel,并且发现主库的DDL语句能够同步到目标库中。您想确认一下是否可以在主库中新增字段,然后通过同步将其同步到目标库。

    首先,根据官方文档,如果您要在主库中新增字段,需要先在目标库中创建该字段。这是因为在Otter同步过程中,如果目标库中不存在该字段,则Otter将无法将该字段同步到目标库中,因此需要先在目标库中将其创建。

    然而,如果您仅仅是想测试一下主库DDL同步到目标库的功能,您可以按照您所说的方法进行测试。也就是说,您可以在主库中新增字段,然后将该DDL语句同步到目标库中。这种方法虽然不符合官方建议,但是在测试环境中可以使用。

    需要注意的是,如果您在生产环境中使用Otter同步数据,建议按照官方文档的建议进行操作,以确保同步的准确性和安全性。

    2023-06-21 17:57:28
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载