Skip to content

Bring-your-own database: PostgreSQL support + production hardening#4

Merged
akumar-99 merged 2 commits into
mainfrom
feat/byo-database
Jun 11, 2026
Merged

Bring-your-own database: PostgreSQL support + production hardening#4
akumar-99 merged 2 commits into
mainfrom
feat/byo-database

Conversation

@akumar-99

Copy link
Copy Markdown
Contributor

Summary

  • Async driver layer: embedded SQLite (default) or any PostgreSQL via DATABASE_URL; auto-migrating schema in both modes
  • docker compose --profile postgres for same-machine Postgres; docs cover managed-DB setups and system requirements
  • Graceful shutdown (SIGTERM/SIGINT), DB-backed /healthz
  • New CI job runs the full 82-test suite against PostgreSQL 18

Test plan

  • 82/82 tests on SQLite and on PostgreSQL 18 locally
  • Prod-style smoke: app container + postgres container, schema created, webhook handled, row verified via psql
  • Graceful shutdown verified in container
  • CI green (incl. new test-postgres job)

- Async Driver abstraction (SqliteDriver / PostgresDriver) with a
  serializing queue so transactions never interleave; ?-placeholder SQL
  shared across dialects
- DATABASE_URL switches storage to any PostgreSQL (managed or the new
  docker compose --profile postgres service); embedded SQLite stays the
  zero-config default; schema migrates automatically in both modes
- Repo and all callers converted to async; graceful SIGTERM/SIGINT
  shutdown; /healthz now pings the database
- CI runs the full suite against PostgreSQL 18 in addition to SQLite
- Deployment docs: database modes + estimated/recommended system requirements
Comment thread tests/dashboard.test.ts Fixed
@akumar-99 akumar-99 merged commit 3005cf8 into main Jun 11, 2026
5 checks passed
@akumar-99 akumar-99 deleted the feat/byo-database branch June 11, 2026 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants