Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да добавя ограничение за проверка в миграция на Rails?

Миграцията на 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо времето на MySQL unix спира под 32-битовото ограничение за цяло число без знак?

  2. Бройте с условие IF в MySQL заявка

  3. Как да създам две колони с автоматично увеличение в MySQL?

  4. Как да промените имената на MySQL таблици в Linux сървър, така че да не са чувствителни към главни букви?

  5. Използване на bulk_update_mappings в SQLAlchemy за актуализиране на множество редове с различни стойности