2つ前のプロジェクトはflyway入れてました。1つ前のプロジェクトはflyway入れてなかった。今のプロジェクトはflyway入ってる(ほっ)。
Flywayを入れるのはまだ当たり前ではない気がします。大手SIerは入れてるけど、名前も知らないSIerの案件に入るとFlyway入ってない気がします。
Flywayは開発者を幸せにするので、絶対に入れて欲しい、絶対に入れたい。
1つ前のプロジェクトはflyway入れてなくてどうしたか?DBスキーマに変更があった時は、Create table文が送られてきました。
死ねって感じですよ。開発者が入れてる動作確認用のデータが消えちゃうよ。消えてたよ。
Flyway Migrateって仕組みは簡単
なんで、自作のオレオレFlywayできそうですよね。
要は、
1.DBスキーマの変更はAlter文でやること。
2.どのAlter文まで流したか履歴が残ればいい。
わけですよね?
1については、Create文渡されたらできませんね。諦めます。
Alter文渡してくれるなら、2の履歴テーブルを作って、流した都度履歴を残していけばいい。それだけなら、エクセルでも管理できますね。
だから、Alter文の最後に履歴テーブルへの履歴INSERTを追記すれば。。。
最悪、flywayを導入してもらえなくても、自分達の工夫次第でflyway的なことは実現できるのではないかと思った次第です。