"""Initial migration for PostORM. Revision ID: 5357028a1574 Revises: Create Date: 2026-05-09 20:56:26.292255 """ from typing import Sequence, Union import sqlalchemy as sa from alembic import op # revision identifiers, used by Alembic. revision: str = "5357028a1574" down_revision: Union[str, Sequence[str], None] = None branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade schema.""" op.create_table( "posts", sa.Column("id", sa.String(36), nullable=False), sa.Column("title", sa.String(200), nullable=False), sa.Column("content", sa.Text(), nullable=False), sa.Column("slug", sa.String(200), nullable=False), sa.Column("author_id", sa.String(100), nullable=False), sa.Column("published", sa.Boolean(), nullable=False), sa.Column("tags", sa.JSON(), nullable=False), sa.Column("created_at", sa.DateTime(timezone=True), nullable=False), sa.Column("updated_at", sa.DateTime(timezone=True), nullable=False), sa.PrimaryKeyConstraint("id"), sa.UniqueConstraint("slug"), ) op.create_index("ix_posts_author_id", "posts", ["author_id"]) op.create_index("ix_posts_published", "posts", ["published"]) op.create_index("ix_posts_slug", "posts", ["slug"]) def downgrade() -> None: """Downgrade schema.""" op.drop_index("ix_posts_slug", table_name="posts") op.drop_index("ix_posts_published", table_name="posts") op.drop_index("ix_posts_author_id", table_name="posts") op.drop_table("posts")