[Elixir]What’s new in Ecto2.0

Elixirの開発元であるPlatformatecからEcto2.0に関するフリーペーパーが正式に公開された。

http://blog.plataformatec.com.br/wp-content/uploads/2016/12/whats-new-in-ecto-2-0-1.pdf

いくつかEctoの特性(Ecto is not your ORMといったこととか)が書かれていて、解決したい問題とその対策として2.0や2.1で入ったことを書いている。

1つ、気になったところをメモとして残しておく。
Ecto2.1からdynamicを使って簡易に動的にwhere句を制御することができるようになった。コードは以下。

https://github.com/elixir-ecto/ecto/blob/v2.1.1/lib/ecto/query.ex#L381

例えば、以下の場合は dynamic で指定した箇所をその引数の状態によって動的に切り替えることができる。
(http://blog.plataformatec.com.br/wp-content/uploads/2016/12/whats-new-in-ecto-2-0-1.pdf より)

これにより、SQLの発行を静的に数多くのパターン実装する必要のある箇所を、限られた少数の実装で表現することができるようになる。個人的に、特にfilter系の関数用意しようとしたら必要以上に行数が増える状態になっていたのでとてもありがたい。時間見つけて適用してみよう。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中