当前位置: 首页 > 知识库问答 >
问题:

Debezium不捕获“级联删除”

段干祺
2023-03-14

有什么方法可以捕获“删除级联”事件吗?我在Debezium常见问题解答(在页面底部)中读到:

==为什么在某些情况下我看不到删除事件?

这可能是使用cascade delete语句造成的。在本例中,数据库https://dev.mysql.com/doc/refman/5.7/en/innodb-and-mysql-replication.html生成的删除事件[不是binlog的一部分],因此Debezium无法捕获。

我很欣赏“On UPDATE Cascade”的类似行为

如果事件不是binlog的一部分,我知道Debezium不能捕获它,但是,有没有什么简单的替代方法可以做到这一点呢?在数据库中,这是非常重要的。

共有1个答案

居和顺
2023-03-14

我能想到的唯一解决方案是用触发器替换级联操作,触发器将根据需要执行delete/update。

 类似资料:
  • 问题内容: 我的模型与模型有关系。我已指定该关系应级联删除操作。但是,当我查询和删除用户时,出现一个错误,指出仍在引用地址行。如何删除用户和地址? 问题答案: 你有以下… 请注意,在“过滤器”之后,您仍然返回Query对象。因此,当您调用时,您正在调用Query对象(而不是User对象)。这意味着您正在执行批量删除(尽管可能只删除了一行) 您正在使用的方法的文档说… 该方法不提供Python中的级

  • 编辑:修改问题以更好地反映问题。此处最初发布的问题 我有一个父实体(< code >上下文)和一个子实体(< code >用户)。父级上的级联“删除”不会删除子级。代码如下:

  • CDC-Debezium一旦源系统(如postgres)中发生事件(如Insert、Update或Delete)就捕获这些事件,并将数据流化并发送到目标系统(如NoSQL或Apache-Kafka)。我在这个配置和设置是非常新的。 我想知道在任何事件触发时是否有任何方法捕获表链,例如,假设源系统中有表A父表和B子表。现在表B中发生了一些变化,它被成功捕获并流向目标系统。现在,我需要CDC-Debe

  • 问题内容: 我必须缺少SQLAlchemy的层叠选项的琐碎内容,因为我无法获得简单的层叠删除来正确操作-如果删除了父元素,则子对象将使用外键保留。 我在这里放了一个简洁的测试用例: 输出: 父母与子女之间存在简单的一对多关系。该脚本创建一个父级,添加3个子级,然后提交。接下来,它删除父级,但子级仍然存在。为什么?如何使孩子级联删除? 问题答案: 问题是sqlalchemy认为是父级的,因为这是您定

  • 主要内容:JPA级联删除示例,输出结果级联移除用于指定如果父实体被移除,则其所有相关实体也将被移除。 以下语法用于执行级联删除操作 - JPA级联删除示例 在这个例子中,我们将创建两个相互关联的实体类,但要建立它们之间的依赖关系,我们将执行级联操作。 这个例子包含以下步骤 - 第1步: 在包下创建一个名为的实体类,其中包含属性:,,以及标记为级联规范的类型的对象。 文件: StudentEntity.java - 第2步: 在包下创建

  • 级联删除通常被用作数据库术语,用来描述删除一个数据行时自动删除关联的数据行的特征。EF Core 实现了一些不同的删除行为,并且允许对关联关系的删除行为进行配置。EF Core 还实现了相关的惯例,它会基于关系的必要性为每个关系配置有用的默认删除行为。 删除行为 删除行为是在 DeleteBehavior 枚举中定义的,可以将它传递给 OnDelete 流式 API 来控制主实体/父实体的删除是否