sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo agrego una restricción de verificación en una migración de Rails?

La migración de Rails no proporciona ninguna forma de agregar restricciones, pero aún puede hacerlo a través de la migración, pero pasando SQL real para ejecutar ()

Crear archivo de migración:

ruby script/generate Migration AddConstraint

Ahora, en el archivo de migració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