Миграцията на Rails не предоставя никакъв начин за добавяне на ограничения, но все пак можете да го направите чрез миграция, но като подадете действителен SQL на execute()
Създаване на файл за миграция:
ruby script/generate Migration AddConstraint
Сега във файла за миграция:
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