"""Initial database schema from schema.sql"""

from alembic import op
import sqlalchemy as sa
import pathlib

# revision identifiers, used by Alembic
revision = '0001_initial_schema'
down_revision = None
branch_labels = None
depends_on = None

def upgrade():
    return
    schema_path = pathlib.Path(__file__).parent.parent.parent / "schema.sql"
    with open(schema_path, encoding="utf-8") as f:
        sql = f.read()
    conn = op.get_bind()
    conn.execute(sa.text(sql))

def downgrade():
    return
    # Drop all user-defined tables in the 'public' schema
    conn = op.get_bind()
    conn.execute(sa.text("""
        DO $$ DECLARE
            r RECORD;
        BEGIN
            FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'public') LOOP
                EXECUTE 'DROP TABLE IF EXISTS public.' || quote_ident(r.tablename) || ' CASCADE';
            END LOOP;
        END $$;
    """))