首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在postgresql中指定Prisma的数据库名

在postgresql中指定Prisma的数据库名
EN

Stack Overflow用户
提问于 2018-10-01 12:52:31
回答 1查看 942关注 0票数 3

我正在尝试实现一个微服务体系结构,其中每个微服务都有自己的数据库。我使用普里斯马作为我的服务和单一数据库服务器之间的数据访问层。因为我有一个数据库服务器,所以我希望每个prisma实例访问它自己的数据库,但是我没有找到一个选项来指定特定prisma实例使用的数据库的名称。

这就是问题所在。是否有方法为prisma实例指定数据库名称?

这是我的docker-compose.yml文件,如果有用的话:

代码语言:javascript
复制
version: '3'
services:
  prisma:
    image: prismagraphql/prisma:1.14
    restart: always
    ports:
    - "${PRODUCT_PRISMA_PORT}:${PRODUCT_PRISMA_PORT}"
    environment:
      PRISMA_CONFIG: |
        port: ${PRODUCT_PRISMA_PORT}
        managementApiSecret: ${PRODUCT_PRISMA_SECRET}
        databases:
          product:
            connector: postgres
            host: postgres
            port: 5432
            user: prisma
            password: prisma
            migrations: true
  postgres:
    image: postgres:11-alpine
    restart: always
    environment:
      POSTGRES_USER: prisma
      POSTGRES_PASSWORD: prisma
    volumes:
      - /var/lib/postgresql/data
  product-app:
    command: yarn start
    image: product-web
    volumes:
      - ./product-service:/usr/app
    ports:
      - "${PRODUCT_APP_PORT}:${PRODUCT_APP_PORT}"
    depends_on:
      - prisma
    environment:
      PORT: ${PRODUCT_APP_PORT}
      PRISMA_ENDPOINT: ${PRODUCT_PRISMA_ENDPOINT}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-01 13:46:44

尝试在配置中使用“数据库”键:

代码语言:javascript
复制
 environment:
  PRISMA_CONFIG: |
    port: ${PRODUCT_PRISMA_PORT}
    managementApiSecret: ${PRODUCT_PRISMA_SECRET}
    databases:
      product:
        connector: postgres
        host: postgres
        port: 5432
        user: prisma
        password: prisma
        migrations: true
        database: ${DATABASE} 

但是,请注意,Prisma使用pg_advisory_lock锁定数据库上的独占访问。我不知道这是否会阻止您在不同的PG数据库上运行多个Prisma实例,但我强烈建议您尝试使用两个容器设置。如果日志行Obtaining exclusive agent lock... Successful.出现在容器日志中,则可以工作。如果只与Obtaining exclusive agent lock...挂起,它就不会。

希望这能有所帮助。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52591611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档