データ移行
非常に一般的で良くある話です。
それなのに、データ移行の確からしさについては議論されることが少ないように感じます。
データ移行の手順については比較的良く議論されるのですが。
データ移行の手順についてレビューを行っていると、必ずといっていいほど、その手順が、そのスクリプトが正しいかどうかという会話になります。
帰着として、「動かして確認しよう」というパターンが多いです。
しかし、何十万、何百万、はたまた何億のデータをすべてマニュアルでなぞって確認するなど、無理に等しいことと感じます。
※無理でなかったとしても相当なコストです。
では、どうやって確からしさを保証するか?というと、
こういう時こそ、テストコードの出番です。
何十万、何百万のデータの確からしさをすべてもれなく確認できるのはプログラムをおいてないでしょう。
人間が目視で数百万のデータを確認する方が危ういです。
移行スクリプトはテストコードと対で作成するのがベターだと思います。