Чи погана форма змінити кілька таблиць в одному файлі міграції Rails?


11

Я написав файл міграції із таким кодом:

class AddScheduleIdToPlayers < ActiveRecord::Migration
  def change
        add_column :players, :schedule_id, :integer
        add_column :schedules, :coach_id, :integer
  end
end

Це погана форма не створювати два файли міграції, по одному для кожної зміни, чи це добре?


Цей SEEMED подобається моєму ж питанню ... але ми хочемо додати поле "updated_by" майже до всіх наших моделей. Чи можемо ми просто зробити це за одну міграцію AddUpdatedByToMostObjects?
Форма чужорідного життя

Відповіді:


10

Ви хочете зберегти пов'язані зміни разом. Наприклад, якщо ви реалізуєте двонаправлене відношення і додаєте стовпці / таблиці, щоб вистачити відносин AR, ви хочете зберегти їх в одній міграції.

Якщо зміни в схемі не пов’язані між собою (наприклад, частини різних функцій), краще тримати їх в окремих міграціях.

Я роблю розумовий експеримент, коли не впевнений. Я намагаюся розбити міграцію на найменші можливі шматки, а потім перевіряю, чи працює моя функція, якщо я знімаю лише одну частину. Якщо саме ця деталь, швидше за все, не належить до цієї міграції.

Ви дивитесь на мене, як це можна розділити на дві міграції. Здається, у вас тут є дві особливості. Один стосується додавання розкладів для гравців, а інший - додавання тренерів до розкладів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.