Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como adiciono uma restrição de verificação em uma migração do Rails?


A migração do Rails não fornece nenhuma maneira de adicionar restrições, mas você ainda pode fazê-lo via migração, mas passando o SQL real para execute()

Criar arquivo de migração:
ruby script/generate Migration AddConstraint

Agora, no arquivo de migração:
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