from __future__ import annotations BLOCKED_AUTO_CREATE_ENVIRONMENTS = {"staging", "production"} def normalize_environment(environment: str | None) -> str: return (environment or "development").strip().lower() def assert_auto_create_schema_allowed(environment: str | None, enabled: bool) -> None: normalized = normalize_environment(environment) if enabled and normalized in BLOCKED_AUTO_CREATE_ENVIRONMENTS: raise RuntimeError( "AUTO_CREATE_SCHEMA is forbidden in staging/production. " "Run Alembic migrations before starting services." )