メインコンテンツにスキップ

ローカル環境からマイグレーションをデプロイする

ローカル環境から直接本番環境にマイグレーションをデプロイすることを検討するシナリオが2つあります。

このページでは、その方法の例と、一般的に推奨しない理由を説明します。

ローカル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を追加する場合、本番データベースをベースライン化する必要があります。ベースライン化は1回実行され、ローカルインスタンスから行うことができます。

Baselining production from local with Prisma ORM

© . All rights reserved.