пятница, 2 сентября 2011 г.

Re: Проблема больших проектов и тысячи миграций

2011/9/2 Andrey Ognevsky <a.ognevsky@gmail.com>:
> Всем привет, в ходе работы появился небольшой вопрос. Имеем большой проект, в котором постоянно что-то меняется. Допустим, сегодня мы добавили в Gemfile какой-нибудь гем вроде RandomNumber (например), а потом ближайшую неделю во всех миграциях используем этот гем. А через месяц гем удаляем и делаем новые миграции (старые ведь править нельзя), где обходимся уже без этого гема.
>
> Вопрос: что будет в голове (и на языке) человека, который полгода спустя будет ставить этот проект? Миграции будут накатываться, а потом споткнутся на всех файлах, где указан гем RandomNumber, потому что такого класса больше нет.
>
> Как поступать в таких случаях? Спасибо.

В реальности в этом проекте будет ещё куча прелестей типа индексов
подправленных прям на продакшн сервере или типов колонок, которые тоже
подправили прям на продакшн сервере.

Можно себя сколько угодно утешать словами <<ну уж в этом проекте я
точно никого не подпущу к продакшн серверу мимо миграций>>,
но в реальности всё равно база будет иметь расхождение с идеальной
картиной миграций.

Просто надо мириться с тем, что из миграций в пожившем проекте, базу
не восстановить. Как верно сказали: rake db:schema:load или
просто дамп БД с сервера, возможно урезанный по объёму данных.

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

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Комментариев нет:

Отправить комментарий