Webアプリを並行開発する際のマイグレーション戦略
スライド
>
概要
エレベーターピッチ
Webアプリの開発中に起こる、
マイグレーションの競合を避けるにはどうすればよいでしょうか?複数のブランチで同じテーブルのカラムを追加して使いたい場合や、DBスキーマの変更が競合する場合は、ブランチのマージ時に競合してしまい、解決に苦労することがあります。このトークでは、実際の開発現場で発生したいくつかの事例を元に、トラブルを避けるための
ブランチ運用と
リリース戦略について紹介します。
聴衆に求める前提知識
聴衆が持ち帰ることができるもの
DBスキーマ変更を
先行リリースし、マイグレーションの競合を避け、安全に並行開発を進める方法
Description
Webアプリ開発とデータベースマイグレーションには密接な関係があり、Pythonでよく採用される
Djangoや
SQLAlchemyには、DBのスキーマを変更するマイグレーション機能があります。一般的に、プログラムを実装するときはリポジトリでブランチを作りそれぞれのブランチで実装作業を進めます。Webアプリの開発でも同様ですが、各ブランチでDBスキーマを変更する場合には注意が必要です。例えば、複数のブランチで同じテーブルのカラムを追加して使いたい場合や、DBスキーマの変更が競合する場合は、ブランチのマージ時に競合してしまいます。多くの機能を並行開発したり、マージするまでの期間が長い場合には、このような競合が増えてしまいます。
このトークでは、Djangoを例に、データベースマイグレーションの仕組みから、実際の開発現場で発生したトラブルとその解決方法について紹介します。
アジェンダ
関連