postgresql - Prisma 如何查看数据库

标签 postgresql docker psql prisma

我关注了https://www.prisma.io/docs/get-started/01-setting-up-prisma-new-database-JAVASCRIPT-a002并让它开始工作。我可以看到以下内容:

  • docker ps 告诉我两个 docker 容器正在运行
  • 每次运行 node index.js 都会显示已创建的所有用户的列表。因此,某处有一个数据库
  • 当我尝试 docker exec -it POSTGRE_CONTAINER_ID bash 时,我得到一个命令提示符。
  • 在命令提示符下,当我键入 psqlpsql prisma 时,我得到 psql: FATAL: role "root"does not exist

如何查看 prisma 将我的数据保存在哪个数据库/表中,以及如何连接到它?

最佳答案

默认情况下,Prisma 不会将数据存储在公共(public)架构中。它将它存储在从您的服务名称派生的模式中(当端点中未提供服务和阶段时,默认为 default$default)。

您可以执行以下步骤来查看基础数据:

  1. 使用 docker ps 获取 docker 容器 ID
  2. 运行 docker exec -it <POSTGRES_CONTAINER_ID> psql -U prisma
  3. 使用 \dn 列出所有模式获取所有模式,并找到您的服务正在使用的模式(默认为 default$default)
  4. 现在运行SET search_path to <YOUR_SCHEMA_NAME_FROM_STEP_3>;更改默认搜索路径
  5. 运行 \dt列出所有表。您现在还可以在该架构上运行任何 SQL 命令。

关于postgresql - Prisma 如何查看数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54777643/

相关文章:

postgresql - Raspberry PI 不监听 5432 端口

SQL 选择从联接返回键控对象

mysql - 从单独的 Docker 容器运行 mysqldump 进行日常备份

docker - 为什么将/var/hyperledger/production安装到主机卷上会导致错误?

postgresql - Docker中的 key 泄漏由于IOException而无法启动

socket.io - 为什么我需要在 netty socketio 中提供主机名以及如何在 docker 中处理 socketio?

node.js - heroku 上的数据库和本地数据库之间的不同错误消息

mysql - 计算postgres/postgis中两个不相关表之间的重叠

json - 使用\COPY 将带有 JSON 字段的 CSV 加载到 Postgres

javascript - 提取 PostgreSQL 语法规则