本地测试要显式覆盖数据源

**分支的 `.env.local` 常是指向主项目根目录的软链,里面写的是远程/生产数据源。直接 `source .env.local` 启动,本地服务就接到了线上数据库 —— 表现为「找不到本地账号」「数据对不上」。**

正确做法

  • 模型/密钥配置沿用根 env(那部分本来就是要共享的);
  • DATABASE_URL / REDIS_URL 这类数据源必须显式覆盖到本地容器(如 127.0.0.1:55432 / 127.0.0.1:56379)。

也就是说:source 根 env 之后追加覆盖,而不是"整套 env 二选一"。

为什么会踩

  • 上一次成功的启动可能用了启动参数显式覆盖,所以"之前一直好好的";换了启动方式就丢了覆盖。
  • 软链让"分支自己的配置"看起来存在,实际内容是主目录那份。

判据:启动前问一句「这个进程连的是哪套库」,而不是「我 source 了哪个文件」。

相关