Moose lets you declare ClickHouse TTL directly in your data model:
ttl option on OlapTable configClickHouseTTL on individual fieldsfrom typing import Annotatedfrom moose_lib import OlapTable, OlapConfig, Key, ClickHouseTTLfrom pydantic import BaseModelfrom datetime import datetime class Event(BaseModel): id: Key[str] timestamp: datetime email: Annotated[str, ClickHouseTTL("timestamp + INTERVAL 30 DAY")] events = OlapTable[Event]( "Events", OlapConfig( order_by_fields=["id", "timestamp"], ttl="timestamp + INTERVAL 90 DAY DELETE", ),)TTL keyword.ALTER TABLE ... MODIFY TTL and .MODIFY COLUMN ... TTL