Switch the default database from SQLite to Postgres + pgvector (via pgvector/pgvector:pg16 Docker image) to support the upcoming vision pipeline (embeddings, OCR, object detection, face clustering). - Add `db` service to docker-compose.yml with healthcheck - Wire `alembic upgrade head` into backend CMD before uvicorn - Bootstrap empty 0001_baseline revision (schema still owned by create_all) - Guard SQLite-only PRAGMAs and inline ALTERs behind _is_sqlite flag - Run `CREATE EXTENSION IF NOT EXISTS vector` on Postgres init - Add asyncpg, psycopg2-binary, pgvector to requirements - Provide docker-compose.sqlite.yml escape hatch for legacy SQLite mode Fresh DB + rescan assumed — no SQLite→Postgres data migration. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
701 B
Python
28 lines
701 B
Python
"""baseline (empty)
|
|
|
|
Revision ID: 0001_baseline
|
|
Revises:
|
|
Create Date: 2026-04-10
|
|
|
|
The current schema is created by SQLAlchemy `Base.metadata.create_all` in
|
|
`app.database.init_db()` on first boot. Alembic only owns deltas from
|
|
PR3 onward. This baseline is intentionally empty so `alembic upgrade head`
|
|
on a fresh DB simply creates the `alembic_version` table and stamps it.
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = "0001_baseline"
|
|
down_revision: Union[str, None] = None
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
pass
|
|
|
|
|
|
def downgrade() -> None:
|
|
pass
|