scalikejdbcのcode generatorとflywayのsbt pluginを組み合わせて使う話
なんか書いたので、意見や感想あればください d.hatena.ne.jp/xuwei/20150307… "scalikejdbcのcode generatorとflywayのsbt pluginを組み合わせて頑張ろうとしてる話"
2015-03-07 19:05:56@xuwei_k Flyway は java(もちろんScalaでも) でもマイグレーションできるので、そのファイルから Scala で定義したテーブルを読み込めばできそう
2015-03-07 19:21:01@tototoshi いずれにせよ、Scalaコードの中にsqlのcreate table文があるだけ?なら、あまり楽にならないというかやること変わらない気がしたんですが、つまりどういうことですか?(あまり理解できてない)
2015-03-07 19:27:51@xuwei_k github.com/scalikejdbc/sc… これを読んで Java のマイグレーションファイルを生成するなにかを作れば良いのでは?ってことだったんですが、ALTERとか困るな...
2015-03-07 19:31:44@xuwei_k あ、生成じゃなくて Java からその scalikejdbc のやつを読む、です。
2015-03-07 19:32:32@tototoshi そうですねー、ALTER・・・。そういえばsquerylあたりは、たしかScalaのコードからDDLのSQLを吐き出す機能はありましたね(つまり、そういうやつのことですよね?)
2015-03-07 19:34:38@tototoshi そういえば、ALTERはこれ github.com/geishatokyo/di… が完璧なのだとしたら色々解決する気がするけど、それら全部組み合わせて頑張るまでは、さすがにやる気おきないですね・・・
2015-03-07 19:38:58@xuwei_k 本番に flyway 使わない(D社使わなそう)のであればマイグレーションファイル1つのみで、ALTERしない運用もできそうかなと思いました。
2015-03-07 19:45:16@tototoshi あー、なるほど(本番にflyway使うかどうか、も、まさに考え中) でもマイグレーションファイル1つだと、flyway使う意味あるのか?という気もしてくるけれど・・・
2015-03-07 19:47:23@xuwei_k 試みとしては興味深いですが、そこまで自動化にこだわらなくてもいいんじゃないかと思いました。あと、そこまでやるなら Skinny ORM を併用してそもそも自動生成コード量を抑える方が私としてはオススメですね。あっちも generator あるし。
2015-03-07 20:43:25scalikejdbcのgeneratorカスタマイズしようとするときりがないし本体に入れるべきかどうか微妙な機能の場合ある → 独自generatorライブラリを独立して作りたくなる → 本体がバイナリ互換維持してくれないとOSSにしてもメンテ大変、という思考の繰り返し・・・
2015-03-11 14:52:26@xuwei_k 実際本体に依存してるのって metadata とってくるところだけなので、バイナリ互換気にせずどこかの断面の core にだけ依存している純粋なコード生成ライブラリとして独立させることはできそうではあります。
2015-03-11 18:25:23@xuwei_k そしてそれは何も今の mapper-generator をベースにそうしていく必要もなくて、ゼロベースで新しくつくってしまう方がよしださんのユースケースまでカバーできたり、拡張性が高かったりするかもしれないですね。
2015-03-11 18:29:13@seratch_ja たしかに、そういえばそうですね。(かといって、今はまだそこまで頑張る必然性も感じてないので、すぐには作らないとも思いますが)
2015-03-11 19:27:38