Ruby Sequelをバージョン4から5にアップデートしたときの変更点

環境

  • before: sequel 4
  • after: sequel 5

変更点

プレースホルダ

Sequel.litを使用する。

  • ver.4
Group.where("id > ?", 100).sql
  • ver.5
Group.where(Sequel.lit("id > ?", 100)).sql

table_name.column_name

Sequel[]で、テーブル名、カラム名を指定する。

  • ver.4
Group.association_join(:user).select(:user__id).sql
  • ver.5
Group.association_join(:user).select(Sequel[:user][:id]).sql

as(alias)

Sequel.asを使用する。

  • ver.4
Group.select { :id___identifier }.sql
  • ver.5
Group.select { Sequel.as(:id, :identifier) }.sql

count(*)

Sequel::SQL::Function.*を使用する。

  • ver.4
User.association_join(:group).select_group(:group__id).having { count(:*){} > 0 }.sql
  • ver.5
User.association_join(:group).select_group(:group__id).having { count.function.* > 0 }.sql