import os

from alembic import op
import sqlalchemy as sa

revision = "0003"
down_revision = "0002"
branch_labels = None
depends_on = None


def upgrade() -> None:
    conn = op.get_bind()
    has_data = conn.execute(sa.text("SELECT 1 FROM v3.role LIMIT 1")).scalar()

    if has_data:
        return
    sql_path = os.path.join(os.path.dirname(__file__), "sql", "0003_initial_data.sql")
    with open(sql_path) as f:
        content = f.read()

    for stmt in content.split(";\n"):
        stripped = stmt.strip()
        if not stripped:
            continue
        op.execute(stripped)


def downgrade() -> None:
    pass
