読者です 読者をやめる 読者になる 読者になる

最近のplay-hikaricpが微妙にいけてない件

Scala

Play標準のBoneCPがイマイチという話は割と有名でplay-hikaricpでHikariCPを使っているというケースも多いのではないかと思います。

このplay-hikaricp、以前このブログでも紹介したように、Playのapplication.confに設定を記述した場合はPlay標準のデータベース設定のキーをHikariCPの設定に読み替えてくれていたのですが、最近のバージョンでこの読み替えを行うのをやめてしまったようです。

コミットでいうとこのへんですね。
https://github.com/edulify/play-hikaricp.edulify.com/commit/ffcbc78a3762709ef3280b9a05aa64a86ab6648d

このため、Play標準の設定方法を前提としているその他のプラグインツールと組み合わせて使う場合、Play標準の設定とHikariCPの設定を二重に記述しなければならないという問題が発生します。
たとえばplay2-flywayと組み合わせて使用する場合はこんな感じなります。

# for play-hikaricp
dbplugin=disabled
db.default.driverClassName=com.mysql.jdbc.Driver
db.default.jdbcUrl="jdbc:mysql://localhost:3306/test"
db.default.username=root
db.default.password=""

# for play2-flyway
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/test"
db.default.user=root

パスワードはキーが同じなので一回だけ設定すればいいというところがまた地味に微妙な感じです。

もともとPlay標準の設定がBoneCP用なのでそれにあわせる必要はないというのはそうなのかもしれませんが、他のツールとの相互運用性を全く考えていない変更ですね。一体なんのためのPlayプラグインなのか…。