跳至主要内容

从本地环境部署迁移

在两种情况下,您可能需要考虑直接从本地环境部署迁移到生产环境。

  • 您有本地 CI/CD 管道
  • 您正在对生产环境进行基线化

此页面概述了如何执行此操作的一些示例,以及**我们通常不建议这样做的原因**。

本地 CI/CD 管道

如果您没有自动化的 CI/CD 流程,则可以在技术上通过以下方式从本地环境部署新的迁移到生产环境

  1. 确保您的迁移历史记录是最新的。您可以通过运行 prisma migrate dev 来做到这一点,这将从最近的更改生成迁移历史记录。
  2. 将您的本地连接 URL 替换为您的生产连接 URL
.env
//delete-next-line
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/my_local_database"

//add-next-line
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/my_production_database"
  1. 运行 prisma migrate deploy

我们强烈建议不要使用此解决方案,原因如下

  • 您有将生产数据库连接 URL 暴露给版本控制的风险。
  • 您可能会意外地使用生产连接 URL,进而**覆盖或删除您的生产数据库**。

我们建议设置自动化的 CI/CD 管道

该管道应处理部署到暂存和生产环境,并在管道步骤中使用 migrate deploy。有关示例,请参阅部署指南

对生产数据库进行基线化

当您将 Prisma Migrate 添加到**现有数据库**时,必须对生产数据库进行基线化。基线化仅执行**一次**,并且可以从本地实例完成。

Baselining production from local with Prisma ORM