Rails активная сериализация записей внутри миграции - PullRequest
0 голосов
/ 19 февраля 2019

Я выполняю миграцию, когда перемещаю данные, сохраненные в виде рубинового хэша, из одной таблицы в другую.Столбец сохраняется как: текст, а в модели сериализация определяется как хэш.

Я хочу переместить этот столбец в другую таблицу, но если я удалю строку, указывающую тип сериализации (что я хочу сделать, потому что поле больше не будет существовать), то миграция обрабатывает данные как строку,Можно ли определить, как данные должны быть сериализованы в самом файле миграции?так что будущие миграции с нуля не прекратятся на этом этапе.

1 Ответ

0 голосов
/ 19 февраля 2019

Да, просто укажите всю необходимую информацию в файле миграции:

# db/migrate/20190219114703_move_data_to_another_table.rb
class MyModel < ApplicationRecord
  # here you need only the line that specifies the serialisation type
end

class MoveDataToAnotherTable < ActiveRecord::Migration[5.1]
  def change
    # here goes the migration itself
  end
end
...