Part of #257 — Phase 2 step (2).
RFC: #275.
Blocked by the psycopg dependency / URL handling Phase 2 child.
Scope
Implement PostgresStore in
server/backend/src/cq_server/store/_postgres.py against the Store
protocol (defined in #306). Use the shared SQLAlchemy Core helpers
(#307) for portable queries; own connection-pool lifecycle and any
Postgres-native specifics.
Migration locking via pg_advisory_lock is handled separately in the
next Phase 2 child.
Definition of Done
- TDD: failing tests covering each protocol method first, then the
implementation. Tests run against the testcontainers-postgres
fixtures (added in the testcontainers Phase 2 child).
- Full test suite green on both backends.
- Lint clean.
- No public docs change required at this step (deployment docs land
in Phase 4).
Part of #257 — Phase 2 step (2).
RFC: #275.
Blocked by the psycopg dependency / URL handling Phase 2 child.
Scope
Implement
PostgresStoreinserver/backend/src/cq_server/store/_postgres.pyagainst theStoreprotocol (defined in #306). Use the shared SQLAlchemy Core helpers
(#307) for portable queries; own connection-pool lifecycle and any
Postgres-native specifics.
Migration locking via
pg_advisory_lockis handled separately in thenext Phase 2 child.
Definition of Done
implementation. Tests run against the testcontainers-postgres
fixtures (added in the testcontainers Phase 2 child).
in Phase 4).