0

У меня есть база данных со следующей схемой:Rails Migrations: Как разбить один стол на две таблицы?

[ Region ] 1 --- * [ District ] 1 --- * [ Location ] 

Я хотел бы разделить среднюю таблицу на две таблицы следующим образом:

[ Region ] 1 --- * [ District ] 1 --- * [ Area ] 1 --- * [ Location ] 

... оставляя некоторые поля (и их значения) в исходной таблице «Район» при переносе других столбцов (и их значений) во вновь созданную таблицу «Таблица».

Есть ли стандартный/чистый способ сделать это при миграции рельсов (желательно без использования необработанного SQL)?

ответ

3

Ну вы могли бы сделать это в 2 этапа:

Первый шаг

Написать миграции, которая создает Area таблицу и ее столбцы. В этой миграции напишите некоторый код Ruby, чтобы заполнить таблицу данными из District.

Второй шаг

Написать миграцию, которая изменяет таблицу округ, например, тот, который падает ненужные столбцы из района.

На этом этапе выполнения миграции должны получить то, что вы хотите, без использования SQL.

Надеюсь, это поможет! :)

+0

Принимая как правильный ответ. Закончилось разбиение на несколько этапов. – user456584