Skip to content

Documentation: database requirements and local Postgres setup #2

Description

@RagingRedRiot

Background

The README's Running locally section assumes Postgres but doesn't pin a minimum version, and there's no scaffolded local-Postgres setup committed to the repo.

The schema requires PostgreSQL 18+: migrations/20260519000001_init.sql uses the built-in uuidv7() function as a column default on users, rooms, and messages. On Postgres 17 or earlier, migrations fail at startup (and on sqlx::test) with function uuidv7() does not exist — this is not a Postgres extension, it's a function added to core in PG18.

docker-compose.yml is gitignored, but a committed example would shorten the time from git clone to a passing cargo test.

Asks

  • Document the PostgreSQL 18+ requirement in README Running locally. Make it impossible to miss.
  • Add a docker-compose.yaml.example at the repo root that brings up a Postgres 18 instance matching the default DATABASE_URL in .env.example. Include a README pointer covering cp docker-compose.yaml.example docker-compose.yml and docker compose up -d.

Acceptance criteria

  • A reader with no prior context can go from clone to passing cargo test using only the README and the example files.
  • The Postgres version requirement is impossible to miss when reading setup instructions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationgood first issueGood for newcomers

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions