从本地环境部署迁移
在以下两种情况下,您可能会考虑直接从本地环境向生产环境部署迁移:
- 您有一个本地 CI/CD 流水线
- 您正在对生产环境进行基线设置 (baselining)
本页面概述了如何进行此操作的一些示例,以及我们通常不推荐此操作的原因。
本地 CI/CD 流水线
如果您没有自动化的 CI/CD 流程,理论上您可以通过以下方式从本地环境向生产环境部署新的迁移:
- 确保您的迁移历史是最新的。您可以通过运行
prisma migrate dev
来完成此操作,该命令将根据最新的更改生成迁移历史。 - 将您的本地连接 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"
- 运行
prisma migrate deploy
⛔
我们强烈不推荐此解决方案,原因如下:
- 您可能会将生产数据库连接 URL 暴露给版本控制。
- 您可能会意外地使用生产连接 URL,从而覆盖或删除您的生产数据库。
✅ 我们建议设置自动化的 CI/CD 流水线
流水线应处理部署到 staging(预生产)和 production(生产)环境,并在流水线步骤中使用 migrate deploy
。请参阅部署指南以获取示例。
对生产数据库进行基线设置
当您将 Prisma Migrate 添加到现有数据库时,您必须对生产数据库进行基线设置。基线设置是一次性操作,可以从本地实例执行。