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

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

ローカル環境から本番環境へ直接マイグレーションをデプロイすることを検討する可能性のある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