1. to_sql
を使用し、ActiveRecordのクエリを出力
sample.rb
target_members = Member.joins(:positions).where(positions: { position_status: 5 })
puts target_members.to_sql
- RSpecで任意のテストを実行すると、
putsメソッド
を使っているため標準出力に出力される
Run
SELECT "members".* FROM "members" INNER JOIN "positions" ON "positions"."member_id" = "members"."id" WHERE "positions"."position_status" = 5
pメソッド
で出力している際は出力結果に"
(ダブルクォーテーション)のみならず\
(バックスラッシュ)も含まれる
2. エディタなどで置換
整形後
SELECT members.* FROM members INNER JOIN positions ON positions.member_id = members.id WHERE positions.position_status = 5
3. SQL整形ツールを使用
- 貼り付けて「整形する」ボタンを押下するだけでOK
SQL
SELECT
members.*
FROM
members
INNER JOIN
positions
ON positions.member_id = members.id
WHERE
positions.position_status = 5