Migrace Rails neposkytuje žádný způsob, jak přidat omezení, ale stále to můžete provést prostřednictvím migrace, ale předáním skutečného SQL do funkce execute()
Vytvořit migrační soubor:
ruby script/generate Migration AddConstraint
Nyní v migračním souboru:
class AddConstraint < ActiveRecord::Migration
def self.up
execute "ALTER TABLE table_name ADD CONSTRAINT check_constraint_name CHECK (check_column_name IN (1, 2, 3) )"
end
def self.down
execute "ALTER TABLE table_name DROP CONSTRAINT check_constraint_name"
end
end