小编alw*_*ing的帖子

如何在Docker中使用Prisma生成数据库表

目标

我正在尝试制作一个最小的Express应用程序。它有一个端点/users,可以获取Postgres 数据库中的所有用户,也可以发布新用户。我正在尝试使用Prisma作为 ORM 并使用docker-compose运行所有内容。

我正在尝试专门构建这个最小的示例,目的是了解如何将 Prisma 与 docker-compose 一起使用。

问题

最终我希望用户能够简单地运行docker-compose up并让一切正常工作。这意味着我假设不存在现有数据库卷,因此,在构建映像时,Docker 需要

  1. 在 Postgres 容器中创建一个users数据库(?我不确定这是否是按照连接 URL 中定义的默认创建的)

  2. 在该数据库中创建一个users,我希望使用该表npx prisma db pushschema.prisma使用该文件

我想知道执行此操作的“正确”方法是什么?除了基本示例之外,我对 Prisma 和 Docker 还很陌生,因此非常感谢任何见解或建议!

此外,了解在哪里/如何注入DATABASE_URL环境变量会很棒。看来 Prisma 依赖于一个文件,但这是否可以像我所做的.env那样等效地注入到文件中?docker-compose.yml

我已在下面包含所有相关代码,再次感谢您!

package.json

{
  "name": "express_prisma_postgres_compose",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && …
Run Code Online (Sandbox Code Playgroud)

postgresql node.js docker docker-compose prisma

5
推荐指数
0
解决办法
1057
查看次数

标签 统计

docker ×1

docker-compose ×1

node.js ×1

postgresql ×1

prisma ×1