sqlboiler ~参照編まとめ~

0

2022年04月08日 6:22

sqlboilerの参照系のクエリ構築の記事になります。

ポイントとしてはクエリに利用するテーブル名やカラム名などはタイプセーフに扱いましょう。
タイプセーフにクエリを構築することで、テーブル構造が変わった際の変更忘れもコンパイルエラーを起こして、安全に開発することができます。

クエリ構築の概念

sqlboilerでのクエリ構築は主に、Query Mod Systemにより制御されます。
Query Mod SystemはStarterFinisherによるクエリ構築を提供しています。

Starter
sqlboilerで生成されたmodelの複数名になります。(UsersやStaffsなど)

Finisher
StarterとWhereなどの取得条件の後にくる関数で、Finisherをセットすることで最終的なクエリ結果をsqlboilerのmodelで返します。

下記はusersテーブルから全てのデータをUsersmodelとして取得している例になります。

img

通常のクエリ

該当レコードを1つ取得

img

該当レコードを全て取得

img

該当レコード数を取得

img

該当レコードの存在有無を取得

img

複雑なクエリ

上記のような単純なクエリだけでなく、複雑なクエリが必要になることもあります。

通常のSQLと同じように、whereやgroup_by, limit, offsetなどSQLで使える基本的なものは
sqlboilerでも使えます。

img

sqlboilerはタイプセーフに利用しよう!
クエリに限らずですが、sqlboiler model で生成された識別子を利用することで安全な実装をすることができます。

【タイプセーフに使う】

上記処理をタイプセーフに書き換えるとこうなります。

img

# Go
0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。

目次を見る