source

ROR 마이그레이션 중에 열 유형을 날짜에서 날짜 시간으로 변경

factcode 2022. 9. 27. 23:46
반응형

ROR 마이그레이션 중에 열 유형을 날짜에서 날짜 시간으로 변경

만들고 있는 앱의 열 유형을 날짜에서 날짜로 변경해야 합니다.데이터는 아직 개발 중이기 때문에 저는 신경 쓰지 않습니다.

이거 어떻게 해?

단말기의 첫 번째 기능:

rails g migration change_date_format_in_my_table

그런 다음 마이그레이션 파일에서 다음을 수행합니다.

레일 > = 3.2의 경우:

class ChangeDateFormatInMyTable < ActiveRecord::Migration
  def up
    change_column :my_table, :my_column, :datetime
  end

  def down
    change_column :my_table, :my_column, :date
  end
end

또, Rails 3 이후를 사용하고 있는 경우는,up그리고.down방법들.그냥 사용하시면 됩니다.change:

class ChangeFormatInMyTable < ActiveRecord::Migration
  def change
    change_column :my_table, :my_column, :my_new_type
  end
end

Rails 3.2와 Rails 4에서 Benjamin의 일반적인 답변은 약간 다른 구문을 가지고 있습니다.

단말기의 첫 번째 기능:

$ rails g migration change_date_format_in_my_table

그런 다음 마이그레이션 파일에서 다음을 수행합니다.

class ChangeDateFormatInMyTable < ActiveRecord::Migration
  def up
   change_column :my_table, :my_column, :datetime
  end

  def down
   change_column :my_table, :my_column, :date
  end
end

change_column 메서드가 있습니다. 이행 시 datetime을 새로운 유형으로 지정하여 실행하기만 하면 됩니다.

change_column(:my_table, :my_column, :my_new_type)

AFIK, 이행에서는 스키마를 변경할 때 중요한 데이터(실가동 등)의 재형성을 시도합니다.만약 그것이 틀리지 않았다면, 그리고 데이터에는 관심이 없다고 했으니, 원래 마이그레이션에서 날짜 간에 열 유형을 수정한 후 마이그레이션을 다시 실행해 보는 것은 어떨까요?(시험이 있기를 바랍니다:)

언급URL : https://stackoverflow.com/questions/5191405/change-a-column-type-from-date-to-datetime-during-ror-migration

반응형