[STATUS: ONLINE] 当サイトは要約付きのエンジニア向けFeedです。

TechDistill.dev

[DISCLAIMER] 当サイトの要約は正確性を保証しません。気になる記事は必ず原文を確認してください。
cd ..

【要約】prisma migrate resolveを使ってRails+Prismaのマイグレーションを共存させる [Qiita_Trend] | Summary by TechDistill

> Source: Qiita_Trend
Execute Primary Source

// Problem

RailsとPrismaが同一DBを参照する場合、Rails側で行われたスキーマ変更をPrismaが検知できず、prisma migrate deploy 実行時に二重適用エラーが発生する。既存のベースライン手法では、継続的に追加されるRails側のマイグレーションに対して、都度手動で対応しなければならない点が課題である。

// Approach

Rails由来のマイグレーションファイルに特定の命名規則を付与し、CI実行時に _prisma_migrations テーブルを直接参照するスクリプトを導入する。未適用のRails由来マイグレーションのみを prisma migrate resolve --applied で「適用済み」としてマークすることで、SQLの実行をスキップしつつ履歴の整合性を保つ。

// Result

Railsによるスキーマ変更をPrismaの管理下に安全に取り込めるようになり、CIでのデプロイフローを自動化・冪等化できる。これは、Prismaへの完全移行を目指す過渡期における、現実的かつ堅牢なワークアラウンドとして機能する。

Senior Engineer Insight

>

複数ORMの共存という、現場で発生しうる極めて泥臭い課題に対し、Prismaの内部仕様を深く理解した上での実戦的な解法である。特に、CIでの冪等性を確保するために _prisma_migrations を直接SELECTするアプローチは、単なる回避策を超えた、エンジニアリングの合理性が感じられる。ただし、本手法は「Railsの変更をPrismaに同期させる」という手動プロセスを前提としており、開発サイクルにおける運用コストの増大は避けられない。あくまでPrismaへの一本化を前提とした「暫定的な橋渡し」として、移行期間の短縮と引き換えに運用負荷を受け入れるという、戦略的な判断が求められる技術である。

[ RELATED_KERNELS_DETECTED ]

cd ..

> System.About()

TechDistillは、膨大な技術記事から情報の真髄(Kernel)のみを抽出・提示します。