"""create user event table Revision ID: abfbb3d96037 Revises: Create Date: 2025-06-14 22:22:48.407239 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa import sqlalchemy.dialects.postgresql as psql # revision identifiers, used by Alembic. revision: str = "abfbb3d96037" down_revision: Union[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.execute("CREATE EXTENSION IF NOT EXISTS pgcrypto;") op.create_table( "user_events", sa.Column( "id", sa.UUID(as_uuid=True), nullable=False, server_default=sa.text("gen_random_uuid()"), ), sa.Column("sequence", sa.Integer(), nullable=False, autoincrement=True), sa.Column("event_payload", psql.JSONB, nullable=False), sa.Column( "created_at", sa.DateTime(timezone=True), nullable=False, server_default=sa.text("NOW()"), ), sa.PrimaryKeyConstraint("id", "sequence"), ) def downgrade() -> None: """Downgrade schema.""" op.drop_table("user_event")