Postgresql 如何在停靠图形ql+;博士后设置?
我对使用Prisma以及将我的设置固定化是新手。我想使用Prisma指定我的数据模型,将Postgres作为我的数据库,并在GraphQL API中使用它(我当前的API使用apollo server express),该API还处理身份验证和角色等 我现在有一个简单的Postgresql 如何在停靠图形ql+;博士后设置?,postgresql,docker,docker-compose,dockerfile,prisma,Postgresql,Docker,Docker Compose,Dockerfile,Prisma,我对使用Prisma以及将我的设置固定化是新手。我想使用Prisma指定我的数据模型,将Postgres作为我的数据库,并在GraphQL API中使用它(我当前的API使用apollo server express),该API还处理身份验证和角色等 我现在有一个简单的docker compose.yml和我的GraphQL API的Dockerfile: docker-compose.yml Dockerfile 在这个设置中,迁移以某种容器化的方式进行,我如何使用Prisma和Postgre
docker compose.yml
和我的GraphQL API的Dockerfile
:
docker-compose.yml
Dockerfile
在这个设置中,迁移以某种容器化的方式进行,我如何使用Prisma和Postgres,而不是在CLI中手动执行Prisma命令
请指出我的误解、提示或反馈,不胜感激!谢谢在启动nextjs应用程序之前,您需要运行迁移。有几种方法可以做到这一点。有些人将此作为CI/CD脚本的一部分。在使用docker compose的情况下,您可以在启动应用程序之前更改启动命令以运行运行迁移的脚本 首先,创建bash脚本
npx prisma迁移部署
npm启动
然后更改Dockerfile
以运行脚本
CMD ["startup.sh"]
谢谢@Athir!最后我创建了第二个compose文件:
docker compose.migrate.yml
,并将其作为我的CI/CD的一部分运行。这是一个可行的选择。
# Latest LTS version
FROM node:14
# Set default values for environment variables
ENV API_PORT=3001
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
COPY package*.json ./
RUN npm install
# Bundle app source
COPY . .
# Bind port
EXPOSE ${API_PORT}
# Start server
CMD ["npm", "start"]
CMD ["startup.sh"]