Skip to content

Latest commit

 

History

History

README.md

Start the demo

export DEBEZIUM_VERSION=1.9
docker-compose up -d

Initialize database and insert test data

cat debezium-sqlserver-init/inventory.sql | docker-compose exec -T sqlserver bash -c '/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD'

Start SQL Server connector

curl -i -X POST -H "Accept:application/json" -H  "Content-Type:application/json" http://localhost:8083/connectors/ -d @register-sqlserver.json

Access Materialize

psql -U materialize -h localhost -p 6875 materialize

Create a source for the SQL Server connector

CREATE SOURCE sqlserver_source
  FROM KAFKA BROKER 'kafka:9092' TOPIC 'server1.dbo.customers'
  FORMAT AVRO USING CONFLUENT SCHEMA REGISTRY 'http://schema-registry:8081'
  ENVELOPE DEBEZIUM;

Create a view for the source

CREATE MATERIALIZED VIEW customers AS
  SELECT id, first_name, last_name, email
  FROM sqlserver_source;

Modify records in the database

Via SQL Server client (do not forget to add GO command to execute the statement)

docker-compose -f exec sqlserver bash -c '/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD -d testDB'

Example:

UPDATE customers SET first_name = 'Anne Marie' WHERE id = 1004;
GO

Shut down the demo

docker-compose down

Debezium resources: https://debezium.io/documentation/reference/stable/tutorial.html