概要
自分の実装が本当に課題を解決したのかを改めて検証する
目的
自分の実装が本当に課題を解決したのかを確認し評価するため
課題1に対する検証
課題1: スキーマ変更の際、既存のプロセスではそれまでのデータを削除してしまうこと
解決策1: 全てのテーブルを一度全削除するのではなく、現状の本番環境のDBとの差分を埋めるSQL文を実行することでマイグレーションを行う
現状のマイグレーションプロセスを使うことにより、全てのテーブルを全削除、また既存のデータを削除せず変更が適応できるようになっている
課題2に対する検証
課題2: 本番環境が動作しなくなった時、動作していた状態に戻すことができない、困難であること
解決策2: 本番環境でマイグレーションを実行した際に問題が起きる可能性を考慮し、問題があった場合は問題なく動作していた状態まで戻れるようにする
postgresとatlasの組み合わせにより、マイグレーション成功後のデータの変更以外は問題なくできることを確認
課題3に対する検証
課題3: マイグレーションプロセスが統一されておらず、ヒューマンエラーによって本番環境が動作しなくなること
解決策3: マイグレーションプロセスを統一し、ヒューマンエラーをなるべく減らすこと
本番環境で実行予定のマイグレーションファイルは事前にレビューを挟む必要があり、その後のマイグレーションもworkflow dispatchからの実行されることにより、手動実行に比べてエラーを減らすことができている
概要
自分の実装が本当に課題を解決したのかを改めて検証する
目的
自分の実装が本当に課題を解決したのかを確認し評価するため
課題1に対する検証
課題1: スキーマ変更の際、既存のプロセスではそれまでのデータを削除してしまうこと
解決策1: 全てのテーブルを一度全削除するのではなく、現状の本番環境のDBとの差分を埋めるSQL文を実行することでマイグレーションを行う
現状のマイグレーションプロセスを使うことにより、全てのテーブルを全削除、また既存のデータを削除せず変更が適応できるようになっている
課題2に対する検証
課題2: 本番環境が動作しなくなった時、動作していた状態に戻すことができない、困難であること
解決策2: 本番環境でマイグレーションを実行した際に問題が起きる可能性を考慮し、問題があった場合は問題なく動作していた状態まで戻れるようにする
postgresとatlasの組み合わせにより、マイグレーション成功後のデータの変更以外は問題なくできることを確認
課題3に対する検証
課題3: マイグレーションプロセスが統一されておらず、ヒューマンエラーによって本番環境が動作しなくなること
解決策3: マイグレーションプロセスを統一し、ヒューマンエラーをなるべく減らすこと
本番環境で実行予定のマイグレーションファイルは事前にレビューを挟む必要があり、その後のマイグレーションもworkflow dispatchからの実行されることにより、手動実行に比べてエラーを減らすことができている