【问题标题】:Prisma how to look into the databasePrisma 如何查看数据库
【发布时间】:2019-07-13 15:06:27
【问题描述】:

我已关注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 将我的数据保存在哪个数据库/表中,以及如何连接到它?

【问题讨论】:

  • 你的操作系统是什么?

标签: postgresql docker psql prisma


【解决方案1】:

默认情况下,Prisma 不会将数据存储在公共架构中。它将它存储在从您的服务名称派生的架构中(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 命令。

【讨论】:

  • 非常感谢您的回答。 prisma.io/docs/get-started/… 给出的示例没有任何服务。因此,当我运行 \dn 时,我得到三个模式 - default$default、management、public。我尝试对他们三个都执行 step4,但 \dt 只是说 Did not find any relations 。请帮忙
  • 试试\dt default$default。此外,像 tableplus 这样的 GUI 将使这项任务变得非常简单
  • prisma 默认将数据保存在公共架构中
  • @Amarsh 你试过\dt default$default.*吗?
【解决方案2】:

我正在使用odcker打开MySQL: docker exec -it server_mysql_1 mysql -u root --host 127.0.0.1 --port 3306 --password=prisma

当然,使用您自己的设置!

【讨论】:

    【解决方案3】:

    您可以输入: psql postgresql://user:password@host:5432/postgresdb

    user = 您在 dockerfile 中使用的用户名

    密码 = 您使用过的密码

    host = 您的主机网址 postgresdb = 来自 dockerfile 的 postgres 数据库名称

    【讨论】:

      猜你喜欢
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 2016-03-11
      • 1970-01-01
      • 2019-03-17
      • 2021-09-01
      • 2014-05-10
      相关资源
      最近更新 更多