Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment ajouter une contrainte de vérification dans une migration Rails ?

La migration Rails ne fournit aucun moyen d'ajouter des contraintes, mais vous pouvez toujours le faire via la migration mais en passant le SQL réel à execute()

Créer un fichier de migration :

ruby script/generate Migration AddConstraint

Maintenant, dans le fichier de migration :

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