답변:
Rails 4+의 경우, nates의 답변 ( change_column_null 사용 )이 더 좋습니다.
프리 레일 4, change_column을 시도하십시오 .
IrreversibleMigration
원하는 것이 아닐 수도 있습니다.
change_column_null 을 사용할 수도 있습니다 .
change_column_null :table_name, :column_name, false
새로운 작성 마이그레이션 스크립트 / 스키마에서이를 사용하는 경우이를 정의하는 방법은 다음과 같습니다.
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
:limit
제약 조건)이있는 경우을 사용할 때 해당 속성을 반복해야합니다change_column
. 그렇지 않으면 속성 이 손실됩니다. 이러한 이유로, 나는 사용하는 것을 선호합니다change_column_null