"""Column types used across the models.

PostgreSQL is the production database, but keeping the types dialect-neutral
lets the smoke tests run the whole API against SQLite with no extra setup.
The generated PostgreSQL DDL is unchanged: `Uuid` renders as UUID, and the
variant below keeps JSONB there.
"""
from sqlalchemy import JSON, Uuid
from sqlalchemy.dialects.postgresql import JSONB

GUID = Uuid(as_uuid=True)
JSONColumn = JSON().with_variant(JSONB, "postgresql")
