在Postgresql中指定Prisma的数据库名称

时间:2018-10-01 12:52:32

标签: postgresql prisma

我正在尝试实现一种微服务架构,其中每个微服务都有其自己的数据库。我将prisma用作服务和单个数据库服务器之间的数据访问层。由于我只有一台数据库服务器,因此我希望每个prisma实例都可以在该服务器上访问其自己的数据库,但是找不到用于指定特定prisma实例使用的数据库名称的选项。

所以这是问题。有没有办法为prisma实例指定数据库名称?

这是我的https://api.dailymotion.com/video/{id}?fields=url文件,如果有帮助的话:

docker-compose.yml

1 个答案:

答案 0 :(得分:4)

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

 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...上,那就不会挂起。

希望有帮助。