## [ERR-20260429-004] setup-worktree.sh 重启已停 PG 容器后 prisma 抢跑

**日期**: 2026-04-29
**类别**: Docker 启动竞态

### 现象
脚本重用一个 stopped PG 容器（`docker start`）后立刻跑 `prisma db push`，报 `P1001: Can't reach database server at localhost:3502`。

### 根因
等待 `pg_isready` 的循环只在 `docker run`（新建容器）分支里有，**`docker start`（重启）分支没等**。但 stopped 容器重启也需要 PG 内部恢复，至少几秒。

### 修法
把 `pg_isready` 等待循环挪到 if/else **外面**，新建和重启都走一遍。

### 预防
docker start 后默认要等服务 ready，不要假设它 instant-ready。

---
