debezium / debezium/dbz

Provide a tool to validate DDL changes [DBZ-70]

Open
#100 0 comments 0 reactions 0 assignees View on GitHub
component/mysql-connector migrated-from-jira type/enhancement
Dominant language
HTML
Stars
6
Forks
8
Avg merge
2d 19h
Merged PRs (30d)
1

Description

Migrated from [DBZ-70](https://issues.redhat.com/browse/DBZ-70)

Quite a few of us are looking at using the Confluent stack with their [Avro schema registry|https://github.com/confluentinc/schema-registry] as a way to serialize Debezium data. The schema registry prevents backwards incompatible schema changes on the Avro messages that flow through it (rightfully so).

This presents a problem. A DB admin (or someone else) might make a DB schema change that results in backwards incompatible messages flowing through the system (e.g. changing column types, or deleting a column).

There's currently no way for us to easily determine if a DB schema change is going to break Debezium's message compatibility. Although this appears to be a problem related to the schema registry tool, I'd argue that preventing backwards compatible changes is generally a good thing and worth doing, independent of whether the Confluent stack is used or not.

It would be nice if Debezium provided some tool that would allow us to validate our DDLs are backwards compatible before we run them on our DB tables.

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Start by defining how DDL changes and Debezium message compatibility should be represented and validated, then establish tests that demonstrate backward-compatible and incompatible schema changes as the completion criteria.

Written by the indexing model from the issue text.

Assessment

Domain
database
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.