Обновление временных меток миграции в функциональных ветках - PullRequest
12 голосов
/ 31 мая 2011

Допустим, есть активная разработка как в моей основной ветке (devlop), так и в моей функциональной ветке. Оба добавляют миграции время от времени. Прежде чем объединить ветвь функций с основной веткой, я собираюсь переместить ее в основную ветку.

Таким образом, для всех миграций ветвей компонентов имеет смысл только после последней миграции разработки ветвей.

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

Ответы [ 2 ]

1 голос
/ 29 мая 2014

Я не нашел функцию rails, чтобы сделать это для вас, но было бы неплохо иметь команду migration touch или что-то в этом роде.В любом случае, в наши дни мы просто создаем новую миграцию, копируем метку времени и переименовываем старую.Обычно миграции выполняются достаточно автономно, поэтому порядок не имеет значения, но иногда мы сталкиваемся с зависимостями порядка, поэтому нам необходимо обновить временные метки.

0 голосов
/ 01 июня 2011

Как уже упоминалось в комментариях к вашему вопросу, нет необходимости изменять имена файлов.

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

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

Это также может создать некоторые раздражающие побочные эффекты для других разработчиков.Та же миграция будет снова запущена в их базе данных, поскольку временная метка в schema_migrations будет недоступна.

...