"""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 $$; """))