본문 바로가기
MySql

MySQL Rails 마이그레이션에서 검사 제약을 어떻게 추가합니까?

by 베이스 공부 2020. 10. 24.
반응형

Rails 앱의 기존 테이블에 새 정수 열을 추가해야합니다. 열은 값 1, 2, 3 만 가질 수 있으므로 테이블 / 열에 검사 제약 조건을 추가하고 싶습니다. 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

 

참조 페이지 https://stackoverflow.com/questions/4664520

 

 

반응형

댓글