반응형
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
반응형
'MySql' 카테고리의 다른 글
MySQL django.db.utils.OperationalError : (1045, " 'root'@ 'localhost'사용자에 대한 액세스가 거부되었습니다 (암호 사용 : YES)") (0) | 2020.10.24 |
---|---|
MySQL utf-8에 PHP mysql 삽입 (0) | 2020.10.24 |
MySQL ODBC를 통해 Python으로 mysql에 연결하는 방법 (0) | 2020.10.24 |
MySQL Magento 데이터베이스에 저장된 쿠폰 코드 (0) | 2020.10.24 |
MySQL AWS Aurora : MySQL 서버가 --read-only 옵션으로 실행 중이므로이 문을 실행할 수 없습니다. (0) | 2020.10.24 |
댓글