Quá trình di chuyển Rails không cung cấp bất kỳ cách nào để thêm các Ràng buộc, nhưng bạn vẫn có thể thực hiện việc đó thông qua quá trình di chuyển nhưng bằng cách chuyển SQL thực để thực thi ()
Tạo tệp di chuyển:
ruby script/generate Migration AddConstraint
Bây giờ, trong tệp di chuyển:
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