This is a new feature that allows you to get the benefits of Moose’s automated Schema management without the risk of inadvertently deleting columns or tables by mistake.
Since day one, Moose has automatically managed your database schema to match your code definitions. Change a data model? Moose updates your ClickHouse tables. Add a new field? It's automatically added to your schema. This "magic" has been one of our most loved features—until our customers started hitting production.
The feedback was clear and consistent:
"I love how Moose automatically manages my schema during development, but I'm terrified to deploy changes to production. What if I accidentally remove a field and lose months of data?"
"We need the setup to work with CDC, the schema changes will be driven by the CDC tool for the tables that are replicated. Can Moose work with our existing database that's managed externally?"
“I want the convenience of automatic schema management, but with guardrails to prevent data loss."
These conversations made it clear: one-size-fits-all automation wasn't enough. Different environments and organizations need different levels of control.
LifeCycle Management introduces three distinct modes that you can apply to any Moose resource - tables, streams, and ingestion pipelines:
Perfect for development and testing environments where you want Moose to handle everything automatically. Add fields, remove columns, restructure tables - Moose keeps your database in perfect sync with your code.
The sweet spot for production environments. Moose will automatically add new columns and tables as your application evolves, but it won't perform destructive operations like dropping columns or tables. Your data stays safe while your schema grows.
For organizations utilizing Change Data Capture (CDC) tools with strict change management processes or existing database infrastructure, Moose connects to your resources without modifying them, giving you complete control over how schemas are managed and kept in sync with source databases.
LifeCycle Management is available now in v0.4.320+. The feature works across all Moose resources - OlapTables, Streams, and IngestPipelines.
Ready to take control of your database evolution? Check out our LifeCycle Management documentation to get started.
─────────────────────────────────────────
This feature was built directly from customer feedback and real-world production needs. Have ideas for what we should build next? Join our community and let us know.