ここ数年(4,5年)play frameworkもScalaも触ってなかったですが、アップデート対応のため久しぶりに触る必要がありDB周りが大分変わっていたので対応法をまとめておきます。

まさかDB接続のAPIに変更があるとは思っていなかったので正直戸惑いました。

 

Developing

昔はDB.withConnectionって記載でDB接続出来ていたのにnot foundと出て意味不明だと思い調べ始めました。

Play Scala Anorm Exampleを確認したらDBApiを利用するようになっていますね、、、

2.6.1のドキュメント調べたらplay.api.db.DB無くなってる、まじか(笑)
https://www.playframework.com/documentation/2.6.1/api/scala/index.html#play.api.db.DBApi

今後はなくなるって事なのですね。現状はまだ2.4系使えって事なのだろうか。

ちなみにDBはobjectだったので通常のクラスのようにnewでインスタンス生成しなくても定義したオブジェクトのフィールドやメソッドを利用出来たきがします。

Play 2.6.x Examplesを利用しての接続方法(2017/10/05当時)

 

まとめと所感

この5年間不干渉でしたがネットでタレ流されてる情報が使い物にならず困りました。

とにかくメンテされないQiitaの情報が邪魔すぎると思いつつも、この記事もその時のバージョンにターゲットしてるので難しい限りです。

とは言え玉石混交な情報がしこたま検索でヒットすれば伸び悩んだのが伺いしれます。

当時学習コストが高いとされてましたが、数年前は情報少ないなりに有益な情報はあったしそこに到達しました。

あの頃から大分時間が立ってるのに未だにAnormが利用されている事に驚きを禁じえないなと…

こういった事例も今後出てくると思いますが、人の出入りがあると運用してからが本当の受難の始まりだと思います。

http://2019.scalamatsuri.org/ja/candidates/tanishiking_1/

 

Twitterでフォローお願いします

おすすめの記事