Sequelでの一意制約(validation)

Sequelで複数行をinsertするときに、各行ごとに一意制約違反をチェックしたかったので。

以下のサンプルのように、:textが共通で、:idのみ異なるデータを複数登録するときにこんなふうにしてみた。

class Hoge < Sequel::Model
  plugin :validation_helpers

  def validate
    validates_unique [:id, :text]
  end

  unless table_exists?
    set_schema do
      integer :id
      text :text
hard
    end
    create_table
  end  
  
end

[1,2,3].each do |i|
  hoge = Hoge.new(
    :id => i,
    :text => "hoge",
  )
  if hoge.valid?
    Hoge.insert(hoge)
  else
    hoge.errors
  end
end


validates_unique [:id, :text]と配列で表記すると、いずれも同一の場合のデータのみ弾くようになる。

validation自体はうまく動作しているみたいだが、hoge.errorsで空の配列しか返されない。
エラーメッセージはどこで指定すればいいんだろ。