"""Add deleted_at to musehub_objects for soft-delete support. Objects are logically deleted by setting deleted_at; hard-delete runs only after the retention window (object_retention_days config). Revision ID: 0021 Revises: 0020 """ from __future__ import annotations import sqlalchemy as sa from alembic import op revision = "0021" down_revision = "0020" branch_labels = None depends_on = None def upgrade() -> None: op.add_column( "musehub_objects", sa.Column( "deleted_at", sa.DateTime(timezone=True), nullable=True, server_default=None, ), ) op.create_index( "ix_musehub_objects_deleted_at", "musehub_objects", ["deleted_at"], ) def downgrade() -> None: op.drop_index("ix_musehub_objects_deleted_at", table_name="musehub_objects") op.drop_column("musehub_objects", "deleted_at")