Get Started Free
‹ Back to courses
course: ksqlDB 101

ksqlDB Code Lifecycle

2 min
Allison

Allison Walther

Integration Architect (Presenter)

Robin Moffatt

Robin Moffatt

Principal Developer Advocate (Author)

Version ksqlDB Applications with ksql-migrations

It would be nice to be able to deploy an application once and be done with it, but that's not realistic: business requirements change, use cases change, and bugs are discovered. You need to be able to manage changes to your applications in a way that's easy to automate.

ksql-migrations is a command-line tool for managing ksqlDB applications, either manually or with scripts:

echo 'CREATE TABLE users ( \
  name STRING, registration_date TIMESTAMP \
) WITH (kafka_topic=’users’, value_format=’json’ \
);' > V000001__create_users.sql 

You can define changes to your ksqlDB artifacts in a text file, which can be put under source control. Then you can apply the changes in an ordered sequence to bring your applications up to date:

echo 'ALTER TABLE users ADD COLUMN \
  userid INT;' > V000002__create_users.sql

You can also see the status of all of the changes to monitor, which changes have been applied, and which changes are still waiting to be applied:

ksql-migrations -c config.properties info

Use the promo code KSQLDB101 to get $25 of free Confluent Cloud usage

Be the first to get updates and new content

We will only share developer content and updates, including notifications when new content is added. We will never send you sales emails. 🙂 By subscribing, you understand we will process your personal information in accordance with our Privacy Statement.

ksqlDB Code Lifecycle

Hi, I'm Allison Walther with Confluent. As much as we'd like to think that once an application is deployed, we're done, we know that's not the case. Business requirements will change, new use cases will evolve, and there may even be a bug or two found at some point. We need to be able to manage changes to our applications, preferably in a way that's easy to automate. For this, we have ksql-migrations. Ksql-migrations is a command-line tool that allows us to manage our ksqlDB applications, manually or in a scripted fashion. We can define changes in our ksqlDB artifacts in a text file that can be checked into source control. Then we apply those changes in an ordered sequence to bring our applications up to the current state. Changes are stored in versioned files and they'll be applied in version order, so we can apply all un-applied change files, the next file only, or a range of change files. We can also see the status of all the changes to monitor, which changes have been applied, and which changes are still waiting to be applied. That's it for ksql-migrations.