Rails Migration : 제약 조건 제거


136

Rails 애플리케이션에 테이블이 있는데 (schema.rb) :

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address", :null=>false
end

주소 필드에 null을 허용하도록 레일 마이그레이션을 작성하고 싶습니다. 즉, 마이그레이션 후 테이블은 다음과 같습니다.

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address"
end

구속 조건을 제거하려면 어떻게해야합니까?

답변:



248

Null이 아닌 제약 조건을 제거하기 위해 Rails 4 이상에서는 다음을 사용할 수 있습니다 change_column_null.

change_column_null :users, :address, true

실제로 이것을 시도 했습니까? 함수의 소스 코드를 살펴보면 다음과 같은 내용 만 볼 수 있습니다.raise NotImplementedError, "change_column_null is not implemented"
drusepth

3
postgresql에서 사용했습니다. rails는 데이터베이스 특정 어댑터에서이를 정의합니다 ( postgres , mysql 참조) . apidock 에서 다른 사람을 검색 할 수 있습니다 . 따라서 누구든지 NotImplementedError
deepak를

1
공감! 다음은 Rails 가이드 링크 입니다.
mcKain

1
선택 답변입니다
nahtnam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.