"""initial schema (events + materialised views + retention seed). Revision ID: 0001_initial Revises: Create Date: 2026-05-16 """ from __future__ import annotations from collections.abc import Sequence import sqlalchemy as sa from alembic import op from artifactstore.db.schema import metadata from artifactstore.db.seed import RETENTION_CLASS_SEEDS revision: str = "0001_initial" down_revision: str | None = None branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: bind = op.get_bind() metadata.create_all(bind=bind) retention_classes_lt = sa.table( "retention_classes", sa.column("class_id", sa.String), sa.column("default_duration_seconds", sa.BigInteger), sa.column("deletion_strategy", sa.String), ) op.bulk_insert(retention_classes_lt, [dict(s) for s in RETENTION_CLASS_SEEDS]) def downgrade() -> None: bind = op.get_bind() metadata.drop_all(bind=bind)