반응형
Ruby on Rails : 마이그레이션을 사용하여 기존 열에 null이 아닌 제약 조건을 어떻게 추가합니까?
내 Rails (3.2) 앱에는 데이터베이스에 많은 테이블이 있지만 null이 아닌 제약 조건을 추가하는 것을 잊었습니다. Google에서 검색했지만 기존 열에 null을 추가하지 않는 마이그레이션을 작성하는 방법을 찾을 수 없습니다.
티아.
Rails 4+의 경우, nates의 답변 ( change_column_null 사용 )이 더 좋습니다.
프리 레일 4, change_column을 시도하십시오 .
change_column_null 을 사용할 수도 있습니다 .
change_column_null :table_name, :column_name, false
1) FIRST : 기본값으로 열 추가
2) THEN : 기본값 제거
add_column :orders, :items, :integer, null: false, default: 0
change_column :orders, :items, :integer, default: nil
새로운 작성 마이그레이션 스크립트 / 스키마에서 사용하는 경우 여기에서이를 정의 할 수 있습니다.
class CreateUsers < ActiveRecord::Migration[5.2]
def change
create_table :users do |t|
t.string :name, null: false # Notice here, NOT NULL definition
t.string :email, null: false
t.string :password, null: false
t.integer :created_by
t.integer :updated_by
t.datetime :created_at
t.datetime :updated_at, default: -> { 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP' }
end
end
end
반응형
'Programing' 카테고리의 다른 글
MongoDB 모든 컬렉션의 모든 컨텐츠 표시 (0) | 2020.07.08 |
---|---|
Spark에서 정보 로깅을 해제하는 방법은 무엇입니까? (0) | 2020.07.08 |
일반 텍스트 파일에서 문자 발생 횟수 (0) | 2020.07.07 |
VS2015 빌드가 Dynamic에서 오류 메시지없이 실패 함 (0) | 2020.07.07 |
선택한 특정 열을 새 DataFrame에 복사본으로 추출 (0) | 2020.07.07 |