【问题标题】:Unable to reach the database server using Prisma, Docker and NestJS无法使用 Prisma、Docker 和 NestJS 访问数据库服务器
【发布时间】:2022-10-30 08:26:00
【问题描述】:

我在 NestJS 上关注tutorial,它使用 Docker 部署数据库(本地)。顺便说一句,我对 Docker 完全陌生。

作为 ORM,它使用 Prisma。

我的 Docker 容器启动,“准备接受连接”,但是当我执行 npx prisma migrate dev 时,它返回 ->

错误:P1001:无法访问位于 localhost:5434 的数据库服务器 请确保您的数据库服务器在 localhost:5434 运行。

这是位于 .env 文件中的 DATABASE_URL (我在互联网上进行了一些搜索后添加了 connect_timeout,但它没有解决问题):

DATABASE_URL="postgresql://postgres:123@localhost:5434/nest?schema=public?connect_timeout=300"

这是我的 docker-compose.yml : docker-compose.yml

【问题讨论】:

  • 数据库是在容器中运行还是直接在主机上运行?应用程序? Compose 通常运行 YAML 文件而不是 PNG 文件;您能否在edit 问题中直接在问题中包含docker-compose.yml 的实际文本,而不是屏幕截图的链接?

标签: postgresql docker nestjs prisma


【解决方案1】:

postgres默认端口是5432,不是5431。尝试在docker-compose.yml中改一下

【讨论】:

    【解决方案2】:

    我正在遵循相同的教程。我也有这个错误。 我通过简单地删除 prisma 文件夹中的迁移文件夹然后再次运行 npx prisma migrate dev 来修复它。

    1. 删除prisma文件夹内的migrations文件夹
    2. 运行npx prisma migrate dev

      我注意到的是,错误是由这个命令引起的

      db:dev:rm": "docker compose rm dev-db -s -f -v 在你的 package.json

      我不知道为什么,但你可能需要避免使用它。

      我希望这是有帮助的。

    【讨论】:

      猜你喜欢
      • 2022-07-13
      • 1970-01-01
      • 2021-09-29
      • 2022-08-14
      • 2021-10-25
      • 2022-11-30
      • 2019-12-23
      • 2022-01-10
      • 2018-12-10
      相关资源
      最近更新 更多