首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该在每次启动应用时运行prisma migrate吗?

我应该在每次启动应用时运行prisma migrate吗?
EN

Stack Overflow用户
提问于 2021-02-12 02:34:29
回答 1查看 925关注 0票数 2

我正在向Kubernetes部署一个使用带有Prisma的PostgreSQL的NodeJS项目。我创建了Dockerfile,并且正在构建docker Hub的Docker镜像:

代码语言:javascript
复制
FROM node:lts-slim

WORKDIR /app

# Add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
ENV NODE_ENV=production

RUN apt-get update

# Install Chromium
RUN apt-get install chromium -y

# Install yarn
RUN apt-get install yarn -y

COPY package.json /app/package.json
RUN yarn install --silent

# Add app
COPY . /app

# Generate prisma
RUN yarn run generate

# Build the app
RUN yarn build

EXPOSE 4000

# Start the app
CMD ["yarn", "run", "start"]

我想使用CI/CD,因此我需要检查PostgreSQL是否更新。这可以使用npx prisma migrate resolve --preview-feature来完成

我认为总是运行prisma migrate来检查DB是否更新,因为如果新的构建更改了schema,DB应该会反映出来。

由于K8S pods是短暂的,将npx prisma migrate resolve --preview-feature添加到start脚本中是正确的吗?因此,每次应用程序启动时,它也会检查数据库?我不认为一直运行prisma migrate是件好事,但是解决方案是什么呢?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-12 16:16:29

在这种情况下,我建议在部署应用程序之前,按照CI/CD步骤中提到的here运行prisma migrate deploy,这样您就不需要在每个启动脚本上都执行它,这在这种情况下并不理想。

这种迁移只需要执行一次,并且可以添加到管道中的预部署步骤中。

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

https://stackoverflow.com/questions/66160753

复制
相关文章

相似问题

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