scalikejdbcのcode generatorとflywayのsbt pluginを組み合わせて使う話

http://d.hatena.ne.jp/xuwei/20150307/1425722420 blog書いて意見募った後の反応
0
Kenji Yoshida @xuwei_k

なんか書いたので、意見や感想あればください d.hatena.ne.jp/xuwei/20150307… "scalikejdbcのcode generatorとflywayのsbt pluginを組み合わせて頑張ろうとしてる話"

2015-03-07 19:05:56
Toshiyuki Takahashi @tototoshi

@xuwei_k Flyway は java(もちろんScalaでも) でもマイグレーションできるので、そのファイルから Scala で定義したテーブルを読み込めばできそう

2015-03-07 19:21:01
Toshiyuki Takahashi @tototoshi

Flyway の Scala DSL 作ればよさそう

2015-03-07 19:23:24
Kenji Yoshida @xuwei_k

@tototoshi いずれにせよ、Scalaコードの中にsqlのcreate table文があるだけ?なら、あまり楽にならないというかやること変わらない気がしたんですが、つまりどういうことですか?(あまり理解できてない)

2015-03-07 19:27:51
Toshiyuki Takahashi @tototoshi

@xuwei_k github.com/scalikejdbc/sc… これを読んで Java のマイグレーションファイルを生成するなにかを作れば良いのでは?ってことだったんですが、ALTERとか困るな...

2015-03-07 19:31:44
Toshiyuki Takahashi @tototoshi

@xuwei_k あ、生成じゃなくて Java からその scalikejdbc のやつを読む、です。

2015-03-07 19:32:32
Kenji Yoshida @xuwei_k

@tototoshi そうですねー、ALTER・・・。そういえばsquerylあたりは、たしかScalaのコードからDDLのSQLを吐き出す機能はありましたね(つまり、そういうやつのことですよね?)

2015-03-07 19:34:38
Kenji Yoshida @xuwei_k

@tototoshi そういえば、ALTERはこれ github.com/geishatokyo/di… が完璧なのだとしたら色々解決する気がするけど、それら全部組み合わせて頑張るまでは、さすがにやる気おきないですね・・・

2015-03-07 19:38:58
Toshiyuki Takahashi @tototoshi

@xuwei_k あとは mapper-generator に flyway 組み込むとか...

2015-03-07 19:42:44
Toshiyuki Takahashi @tototoshi

@xuwei_k 本番に flyway 使わない(D社使わなそう)のであればマイグレーションファイル1つのみで、ALTERしない運用もできそうかなと思いました。

2015-03-07 19:45:16
Kenji Yoshida @xuwei_k

@tototoshi あー、なるほど(本番にflyway使うかどうか、も、まさに考え中) でもマイグレーションファイル1つだと、flyway使う意味あるのか?という気もしてくるけれど・・・

2015-03-07 19:47:23
Toshiyuki Takahashi @tototoshi

@xuwei_k ですね。開発環境のセットアップが楽、くらいじゃないですか。

2015-03-07 19:49:23
Kazuhiro Sera (瀬良) @seratch_ja

@xuwei_k 試みとしては興味深いですが、そこまで自動化にこだわらなくてもいいんじゃないかと思いました。あと、そこまでやるなら Skinny ORM を併用してそもそも自動生成コード量を抑える方が私としてはオススメですね。あっちも generator あるし。

2015-03-07 20:43:25
Kenji Yoshida @xuwei_k

scalikejdbcのgeneratorカスタマイズしようとするときりがないし本体に入れるべきかどうか微妙な機能の場合ある → 独自generatorライブラリを独立して作りたくなる → 本体がバイナリ互換維持してくれないとOSSにしてもメンテ大変、という思考の繰り返し・・・

2015-03-11 14:52:26
Kazuhiro Sera (瀬良) @seratch_ja

@xuwei_k 実際本体に依存してるのって metadata とってくるところだけなので、バイナリ互換気にせずどこかの断面の core にだけ依存している純粋なコード生成ライブラリとして独立させることはできそうではあります。

2015-03-11 18:25:23
Kazuhiro Sera (瀬良) @seratch_ja

@xuwei_k そしてそれは何も今の mapper-generator をベースにそうしていく必要もなくて、ゼロベースで新しくつくってしまう方がよしださんのユースケースまでカバーできたり、拡張性が高かったりするかもしれないですね。

2015-03-11 18:29:13
Kenji Yoshida @xuwei_k

@seratch_ja たしかに、そういえばそうですね。(かといって、今はまだそこまで頑張る必然性も感じてないので、すぐには作らないとも思いますが)

2015-03-11 19:27:38
Kazuhiro Sera (瀬良) @seratch_ja

@xuwei_k もし私にできることがあれば言ってください。

2015-03-12 00:26:16