From bf42f974246038f89a011a9c6bc48b32f160fdac Mon Sep 17 00:00:00 2001 From: lingyuzeng Date: Tue, 24 Feb 2026 13:06:24 +0800 Subject: [PATCH] fix readme docker compose commands and remove duplicate content --- README.md | 59 ++++++++----------------------------------------------- 1 file changed, 8 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index 235b915..f50302b 100644 --- a/README.md +++ b/README.md @@ -15,10 +15,11 @@ Reusable SQLModel + PostgreSQL kit with src layout, sync/async engines, and gene - Run tests: `uv pip install pytest && pytest -q` ## Local Postgres (Docker) -- Start the container: `docker compose -f docker/docker-compose.yml up -d` -- Stop when done: `docker compose -f docker/docker-compose.yml down` +- Start the container: `docker compose up -d` +- Stop when done: `docker compose down` - Default credentials match `DatabaseConfig`: user `appuser`, password `changeme`, database `appdb` - Export `SQL_SSLMODE=disable` (container does not use TLS by default) +- Port: 5433 (mapped from container 5432) ## Usage - Configure environment (either `SQL_*` or Postgres `PG*` vars). Example for container ADDR: @@ -398,53 +399,9 @@ Then open one of the notebooks under `notebooks/` to follow along. - For production, prefer `sslmode=verify-full`, least-privileged DB users, and consider PgBouncer. - Bring your own Alembic migrations; set `target_metadata = SQLModel.metadata` in env.py. -## apple container start command +## Tests via Makefile -```shell -# 停止并删除现有容器 -container stop pg-app -container delete pg-app - -container run \ - --name pg-app \ - --detach \ - --mount type=tmpfs,target=/var/lib/postgresql/data \ - --volume ./docker-init:/docker-entrypoint-initdb.d \ - --env POSTGRES_USER=postgres \ - --env POSTGRES_PASSWORD=change-me-strong \ - --env POSTGRES_INITDB_ARGS="--encoding=UTF8 --locale=en_US.UTF-8" \ - postgres:16 - -container ls --all -container logs pg-app -``` - -## set environment variables - -```bash -export SQL_HOST=192.168.64.8 -export SQL_PORT=5432 -export SQL_USER=postgres -export SQL_PASSWORD=change-me-strong -export SQL_DATABASE=appdb -export SQL_SSLMODE=disable -``` - -## make test with uv - -测试连接 -现在您可以使用psql测试PostgreSQL连接: - -```bash -psql -h $SQL_HOST -p $SQL_PORT -U $SQL_USER -d $SQL_DATABASE -c '\l' -``` - -```bash -make test-pg-once -``` - -## Verify data with psql -- List tables: `\dt` -- Inspect example tables (depending on the example you ran), e.g.: - - `SELECT * FROM hero ORDER BY id DESC LIMIT 10;` - - `SELECT * FROM dataset ORDER BY id DESC LIMIT 10;` +- `make test-sqlite`: run fast smoke tests on SQLite (no Postgres needed) +- `make test`: run all tests found by pytest +- `make test-pg`: run Postgres integration once on current Python (requires SQL_*/PG* env) +- `make test-pg-once`: run Postgres integration across Python 3.10–3.13 (requires `uv` and SQL_*/PG* env)