|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
База уходит в работу и её вот так вот запросто уже не грохнешь, если что не так пошло. Как уйти в разработку на локальной копии, а потом накатить апдейт на рабочую базу?? Как это изнутри работает, что с чем сравнивается?? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 00:46 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Monochromatique, Есть базовый скрипт создания таблиц. Всякий раз, когда делаются изменения в модели, по коаманде PM> Update-Database генереруется migration script, в папке проекта Migrations. При подключении приложения к базе EF проверяет историю прогона скриптов (в базе есть соотв. таблица) и накатывает еще не примененные. Данные при этом максимально сохраняются. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 01:08 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Relic HunterMonochromatique, Есть базовый скрипт создания таблиц. Всякий раз, когда делаются изменения в модели, по коаманде PM> Update-Database генереруется migration script, в папке проекта Migrations. При подключении приложения к базе EF проверяет историю прогона скриптов (в базе есть соотв. таблица) и накатывает еще не примененные. Данные при этом максимально сохраняются. Мээээ... Так а что делать мне? Если ты под скриптами имеешь ввиду то, что видно в студии - то эти "скрипты" генерятся при add-migration команде. Получается, что нужно убить (стереть из папки) все миграционные скрипты, которые применялись к тестовой базе, сгенерить новый и применить к рабочей БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 08:28 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Monochromatique, написали же выше: "EF проверяет историю прогона скриптов (в базе есть соотв. таблица)". Старые скрипты убивать не надо, EF не будет их выполнять. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 09:58 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
MonochromatiqueМээээ... Так а что делать мне?Нуууу... Поднять тестовую среду, отличную от локальной, развернуть там продакшн версию базы, сделать бекап и играться. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 10:00 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Monochromatique, гораздо интереснее вопрос, как пользоваться EF-миграциями при разработке в команде ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 10:18 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttMonochromatique, гораздо интереснее вопрос, как пользоваться EF-миграциями при разработке в команде А в чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 12:58 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВhVosttMonochromatique, гораздо интереснее вопрос, как пользоваться EF-миграциями при разработке в команде А в чем проблема? пока не попробуешь, не узнаешь ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 14:53 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttпока не попробуешь, не узнаешь Пробовал, никаких проблем. Если не считать того факта, что структуру БД ваяют тупые и убогие императивщики, а должны божественные базаданщики! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 16:12 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВhVosttпока не попробуешь, не узнаешь Пробовал, никаких проблем. Если не считать того факта, что структуру БД ваяют тупые и убогие императивщики, а должны божественные базаданщики! Чо та толсто как-та. Сваяешь БД лучше, чем EF? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 21:44 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВhVosttпока не попробуешь, не узнаешь Пробовал, никаких проблем. Если не считать того факта, что структуру БД ваяют тупые и убогие императивщики, а должны божественные базаданщики! Если в команде 2 девелопара делают по миграции из одной и той же версии (развернутой у них локально), то потом такие миграции не встанут. Точнее встанет только одна, кто первый тот и папа. Второму придётся делать дополнительные манипуляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 07:29 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
MonochromatiqueЕвгенийВпропущено... Пробовал, никаких проблем. Если не считать того факта, что структуру БД ваяют тупые и убогие императивщики, а должны божественные базаданщики! Чо та толсто как-та. Сваяешь БД лучше, чем EF?Сам ещё толще :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 08:22 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
skyANAMonochromatiqueпропущено... Чо та толсто как-та. Сваяешь БД лучше, чем EF?Сам ещё толще :) +1 Только хотел что нибудь отписать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 10:26 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVostt Если в команде 2 девелопара делают по миграции из одной и той же версии (развернутой у них локально), то потом такие миграции не встанут. Точнее встанет только одна, кто первый тот и папа. Второму придётся делать дополнительные манипуляции. ХЗ. Участвовал в одном провальном проекте, так там эти миграции именовались как то от номера спринта (или как его там) + текущая дата до секунды. Никаких проблем с вставанием миграций не возникало... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 10:33 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВhVosttЕсли в команде 2 девелопара делают по миграции из одной и той же версии (развернутой у них локально), то потом такие миграции не встанут. Точнее встанет только одна, кто первый тот и папа. Второму придётся делать дополнительные манипуляции. ХЗ. Участвовал в одном провальном проекте, так там эти миграции именовались как то от номера спринта (или как его там) + текущая дата до секунды. Никаких проблем с вставанием миграций не возникало... Ээммм... секунды тут не при чём, миграция основывается на конкретной предыдущей миграции. Я не в курсе какие у вас там были миграции, но Entity Framework хрен даст тебе сунуть свою миграцию, если кто-то постарался и успел сунуть свою. Не имеет значения ни номер спринта, ни дата до секунды, -- и это очень правильно. Сама миграция стряпается на основе изменений, которые ты сделал и текущего состояния СУБД. Если же текущее состояние неизвестно (кто знает какие изменения нахреначили другие участники команды за один и тот же этап??), то невозможно сделать правильную миграцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 10:55 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVostt, А понятно. БД одна общая на всех? У нас были отдельные локальные БД у каждого и каждый раз когда нужно было накатить, в БД все грохалось и начинало накатываться сначала, последовательно по номерам миграций. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 11:00 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttEntity Framework хрен даст тебе сунуть свою миграцию, если кто-то постарался и успел сунуть свою. Не имеет значения ни номер спринта, ни дата до секунды, -- и это очень правильно. Прямо как в лучшие времена Visual SourceSafe. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 11:24 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
НахлобучПрямо как в лучшие времена Visual SourceSafe. У нас этот раритет до сих пор юзают :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 11:31 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttСама миграция стряпается на основе изменений, которые ты сделал и текущего состояния СУБД. Если же текущее состояние неизвестно (кто знает какие изменения нахреначили другие участники команды за один и тот же этап??), то невозможно сделать правильную миграцию. Возможно, но очень сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 12:47 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВskyANAпропущено... Сам ещё толще :) +1 Только хотел что нибудь отписать. Так как тебя EF-от ограничивает? или Что делает убогий императивщик? А что сделает божественный дб-щик? На каком-нибудь примере. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 12:47 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Monochromatique Что делает убогий императивщик? А что сделает божественный дб-щик? На каком-нибудь примере. Ну к примеру запрос - выдернуть всех чильдов. Имперетивщик будет дергать в цикле или рекурсивно. Базаданщик сделает хранимую процедуру. А я сделаю функцию возвращающую табличное выражение ибо ее можно дернуть через LINQ. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 13:57 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВhVostt, А понятно. БД одна общая на всех? У нас были отдельные локальные БД у каждого и каждый раз когда нужно было накатить, в БД все грохалось и начинало накатываться сначала, последовательно по номерам миграций. Это тоже не имеет значения. Такой подход как ты говоришь будет работать только, если каждый разработчик делает изменения, никак не связанные с изменениями других людей. Например, я переименовываю поле, а ты добавляешь это поле в индекс. Если твоя миграция пойдёт первой, то всё будет ок, а если наоборот, твоя сломается. И это самый простой случай. Часто миграции не только DDL, но ещё и с изменениями самих данных, тут вообще можно так накосячить, что не сразу об этом узнаешь. Именно поэтому не связанные друг с другом миграции -- зло, и не допустимо. ЧТобы пропихнуть свою миграцию, ты должен вытащить все имеющиеся, и получив актуальное состояние, сунуть свою. И так у каждого разработчика. Не важно общая БД или у каждого локальная, разницы никакой. Для EF имеются такие практики, как последовательная заливка своих миграций, с прогоном по общей базе в TeamCity, с тестами и прочим. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 13:58 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВБазаданщик сделает хранимую процедуру. В лес таких базаданщиков. Если он не собирается написать хранимку сразу под все популярные СУБД и потом успешно поддерживать их. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 13:59 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttЕвгенийВБазаданщик сделает хранимую процедуру. В лес таких базаданщиков. Если он не собирается написать хранимку сразу под все популярные СУБД и потом успешно поддерживать их. Сколько коммерчески успешных ПП реализованы под несколько СУБД? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 15:05 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВНу к примеру запрос - выдернуть всех чильдов. В смысле выдернуть всех чильдов? Давай на примере -Отдел ---Сотрудник -----Выданный ТМЦ Кто их них чильд, и что значит ВЫДЕРНУТЬ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 15:10 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВСколько коммерчески успешных ПП реализованы под несколько СУБД? 3 шт. на моём личном счету (крупные enterprise проекты, в которых я принимал непосредственное участие), продаются и приносят прибыль. Никаких проблем, при отказе от хранимок профит для разработки ощущается натурально. Да, я хочу сказать, что без хранимок и без привязки к конкретной вендорной СУБД можно создавать крупные и коммерчески успешные проекты. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 15:16 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
MonochromatiqueЕвгенийВпропущено... +1 Только хотел что нибудь отписать. Так как тебя EF-от ограничивает? или Что делает убогий императивщик? А что сделает божественный дб-щик? На каком-нибудь примере.Божественный дб-шник в один прекрасный день берёт и сокращет количество запросов к БД в десятки раз :) При этом функциональность системы не меняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 17:34 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
MonochromatiqueЕвгенийВНу к примеру запрос - выдернуть всех чильдов. В смысле выдернуть всех чильдов? Давай на примере -Отдел ---Сотрудник -----Выданный ТМЦ Кто их них чильд, и что значит ВЫДЕРНУТЬ?Ну если Вы не понимаете что речь о таблице, где есть колонка ID и колонка ParentID, то даже не знаю о чём тут ещё говорить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 17:37 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
skyANAБожественный дб-шник в один прекрасный день берёт и сокращет количество запросов к БД в десятки раз :) авторПри этом функциональность системы не меняется. Эммм.. как это? Типа система делала для одного действия 10 запросов, но приходит кто-то и 10 превращается в 1... какая в этом заслуга дбшника, если это система делает запросы? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 18:14 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttskyANAБожественный дб-шник в один прекрасный день берёт и сокращет количество запросов к БД в десятки раз :) авторПри этом функциональность системы не меняется. Эммм.. как это? Типа система делала для одного действия 10 запросов, но приходит кто-то и 10 превращается в 1... какая в этом заслуга дбшника, если это система делает запросы? Ну если подходить с позиции, что СИСТЕМА делает запросы, а не императивщики так реализовали функционал... Система сама решает, какой функционал нужен, сама пишет код... Система делает всё сама :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 18:32 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
skyANAНу если подходить с позиции, что СИСТЕМА делает запросы, а не императивщики так реализовали функционал... Аа.. типа дбашник говорит как тупым императивщикам вместо 10 запросов получить тоже самое, но одним? skyANAСистема сама решает, какой функционал нужен, сама пишет код... Система делает всё сама :) Ну чего ты передёргиваешь ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 18:48 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttskyANAНу если подходить с позиции, что СИСТЕМА делает запросы, а не императивщики так реализовали функционал... Аа.. типа дбашник говорит как тупым императивщикам вместо 10 запросов получить тоже самое, но одним?Нет, тупо код рефакторит, а нагрузочные тесты показывают, что производительность возросла. Мы же про такого дбшника как ЕвгенийВ, он жеж и на C# код пишет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 18:54 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
skyANAНет, тупо код рефакторит, а нагрузочные тесты показывают, что производительность возросла. Мы же про такого дбшника как ЕвгенийВ, он жеж и на C# код пишет. Ну не единым кодом же.. я грешным делам подумал про волшебника дбашника которому не надо в код лезть, то ли дело под взмахами волшебной палки SQL, всё начинается несказанно шевелится ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 19:02 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVostt 3 шт. на моём личном счету (крупные enterprise проекты, в которых я принимал непосредственное участие), продаются и приносят прибыль. Никаких проблем, при отказе от хранимок профит для разработки ощущается натурально. Да, я хочу сказать, что без хранимок и без привязки к конкретной вендорной СУБД можно создавать крупные и коммерчески успешные проекты. Где ссылки на авторитетные источники? Вон Касперский кучу народа нанял, чистых базаданщиков. К чему спрашивается? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 21:37 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVostt Ну не единым кодом же.. я грешным делам подумал про волшебника дбашника которому не надо в код лезть, то ли дело под взмахами волшебной палки SQL, всё начинается несказанно шевелится Можно в код и не лезть. На тот случай есть профайлеры, планы исполнения, индексы и статистики, нужные служебные вьюшки и сохраненные процедуры и пакетами. Если руки откуда надо растут, то их ничего не связывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 21:40 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВhVosttНу не единым кодом же.. я грешным делам подумал про волшебника дбашника которому не надо в код лезть, то ли дело под взмахами волшебной палки SQL, всё начинается несказанно шевелится Можно в код и не лезть. На тот случай есть профайлеры, планы исполнения, индексы и статистики, нужные служебные вьюшки и сохраненные процедуры и пакетами. Если руки откуда надо растут, то их ничего не связывает. Есть 2 суперпозиции: 1. Стараться сразу писать хорошо (чтобы потом бесконечно не рефакторить и не поддерживать легаси) 2. Не заниматься оптимизацией без реальной необходимости Это как бухгалтеру, успешно решавшему свои задачи в 1С на стареньком целероне, заменили комп с 40-ядерным процессором и 4 топовых видюхи в SLi -- и.. для бухглатера ничего не поменялось. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 06:37 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttЕвгенийВпропущено... Можно в код и не лезть. На тот случай есть профайлеры, планы исполнения, индексы и статистики, нужные служебные вьюшки и сохраненные процедуры и пакетами. Если руки откуда надо растут, то их ничего не связывает. Есть 2 суперпозиции: 1. Стараться сразу писать хорошо (чтобы потом бесконечно не рефакторить и не поддерживать легаси) 2. Не заниматься оптимизацией без реальной необходимости Это как бухгалтеру, успешно решавшему свои задачи в 1С на стареньком целероне, заменили комп с 40-ядерным процессором и 4 топовых видюхи в SLi -- и.. для бухглатера ничего не поменялось. И к чему ты это сказал, капитан Очевидность? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 07:42 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
skyANAИ к чему ты это сказал, капитан Очевидность? :) Подвёл итоге тксказать )) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 10:57 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVostt Есть 2 суперпозиции: 1. Стараться сразу писать хорошо (чтобы потом бесконечно не рефакторить и не поддерживать легаси) 2. Не заниматься оптимизацией без реальной необходимости У меня на одной из прошлых работ был начальник группы программистов, который в SQL запросе в order by поставил 2 поля с типом nvarchar(max). Я ему прямо в глаза сказал, что за это молотком по пальцам. Из двух суперпозиций нужно вывести одну - выделять проблемные места сразу, основываясь на глубоком знании технологии и предыдущем опыте и писать их очень хорошо. hVosttЭто как бухгалтеру, успешно решавшему свои задачи в 1С на стареньком целероне, заменили комп с 40-ядерным процессором и 4 топовых видюхи в SLi -- и.. для бухглатера ничего не поменялось. Вот прямо передо мной сидит бухгалтер, которая периодически кроет иwʁʎх хорошими словами 1С, потому как нужно распечатать бумагу и идти в кассу выдавать бабки, а эта прекрасная программа тупо висит. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 11:12 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ЕвгенийВВот прямо передо мной сидит бухгалтер, которая периодически кроет иwʁʎх хорошими словами 1С, потому как нужно распечатать бумагу и идти в кассу выдавать бабки, а эта прекрасная программа тупо висит. колокейшен? )) отправьте бухгалтера в отпуск уже! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 12:33 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 23:47 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 06:58 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttMonochromatiquehVostt, Видел уже? Читал столет назад в оригинале )) все это на уровне каменного века, никаких семантических изысков ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 13:38 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosвсе это на уровне каменного века, никаких семантических изысков Семантика оказалась вообще-то переоценена. Семантический веб вона лишь прибавил работы и не дал взамен ничего, как стерва-жена с силикатными буферами ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 14:54 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttViPRosвсе это на уровне каменного века, никаких семантических изысков Семантика оказалась вообще-то переоценена. Семантический веб вона лишь прибавил работы и не дал взамен ничего, как стерва-жена с силикатными буферами значит фиговый семантический веб, там нет нифига, кроме ссылок ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 17:31 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
по-моему эта статья весь пипец командных миграций не покрывает. она его просто обозначает ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 18:23 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил Кантпо-моему эта статья весь пипец командных миграций не покрывает. она его просто обозначает командные миграции по своей сути проблемны и ни какая технология этого исправить не может. база данных это не гит. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2016, 22:17 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttИммануил Кантпо-моему эта статья весь пипец командных миграций не покрывает. она его просто обозначает командные миграции по своей сути проблемны и ни какая технология этого исправить не может. база данных это не гит. разве гит дает возможность реальной совместной работы? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 13:38 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosразве гит дает возможность реальной совместной работы? с одной веткой работает десяток человек -- никто не жалуется. сказать, что проблем совсем нет нельзя, но они решаются грамотным менеджментом, git-flow, несложными гайдами и регламентами. что касается миграций, всегда важен порядок их применения, соответственно этот порядок надо специально согласовывать. работает принцип — кто первый, тот и папа. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 15:55 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttViPRosразве гит дает возможность реальной совместной работы? с одной веткой работает десяток человек -- никто не жалуется. сказать, что проблем совсем нет нельзя, но они решаются грамотным менеджментом, git-flow, несложными гайдами и регламентами. что касается миграций, всегда важен порядок их применения, соответственно этот порядок надо специально согласовывать. работает принцип — кто первый, тот и папа. Это одно и то же, что в гит, что в еф миграции - организационный регламент и больше ничего. Однопользовательский режим работы с ресурсом. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 15:58 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRoshVosttпропущено... с одной веткой работает десяток человек -- никто не жалуется. сказать, что проблем совсем нет нельзя, но они решаются грамотным менеджментом, git-flow, несложными гайдами и регламентами. что касается миграций, всегда важен порядок их применения, соответственно этот порядок надо специально согласовывать. работает принцип — кто первый, тот и папа. Это одно и то же, что в гит, что в еф миграции - организационный регламент и больше ничего. Однопользовательский режим работы с ресурсом. гит - это не "кто первый, тот и папа". а БД - это именно так ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 16:50 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosпропущено... Это одно и то же, что в гит, что в еф миграции - организационный регламент и больше ничего. Однопользовательский режим работы с ресурсом. гит - это не "кто первый, тот и папа". а БД - это именно так а что ж такое гит? если мы вдвоем рефакторим один и тот ж метод основательно, то что будет делать гит? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:35 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosесли мы вдвоем рефакторим один и тот ж метод основательно очень неправильный подход. будете мержить конфликты. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:38 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosесли мы вдвоем рефакторим один и тот ж метод основательно очень неправильный подход. будете мержить конфликты. возможно с архитектурой полная поппа ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:39 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosесли мы вдвоем рефакторим один и тот ж метод основательно очень неправильный подход. будете мержить конфликты. кто будет? гит? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:40 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантИммануил Кантпропущено... очень неправильный подход. будете мержить конфликты. возможно с архитектурой полная поппа ну значит одну и ту ж строчку накладной можно вдвоем менять. а один и тот же метод нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:41 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosИммануил Кантпропущено... очень неправильный подход. будете мержить конфликты. кто будет? гит? врукопашную с тем вторым, который не стрелял ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:41 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
архитектор , блин, появился :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:42 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosпропущено... кто будет? гит? врукопашную с тем вторым, который не стрелял а нафига тогда гит нужен? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:42 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosИммануил Кантпропущено... врукопашную с тем вторым, который не стрелял а нафига тогда гит нужен? этого второго я могу не знать вед? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:43 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosИммануил Кантпропущено... врукопашную с тем вторым, который не стрелял а нафига тогда гит нужен? он не спасет от конфликтов. никто не спасет ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:44 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosViPRosпропущено... а нафига тогда гит нужен? этого второго я могу не знать вед? придется узнать. как мержить конфликт-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:45 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosархитектор , блин, появился :) а вот возможные конфликты разрулить еще на подлете - это архитектура + организация ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:46 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosархитектор , блин, появился :) а вот возможные конфликты разрулить еще на подлете - это архитектура + организация ну, конечно, надо сначала написать все методы всей системы, а потом залить в гит для игр :) так что про строчку накладной? какие архитектурные решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:48 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosархитектор , блин, появился :) а вот возможные конфликты разрулить еще на подлете - это архитектура + организация эта архитектура называется - многопользовательский доступ к общему ресурсу ты наверное большой знаток этого дела, если можешь все на подлете вырулить :) расскажи ка ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:49 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosтак что про строчку накладной? какие архитектурные решения? организационное. это должен делать один прогер. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:49 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosтак что про строчку накладной? какие архитектурные решения? организационное. это должен делать один прогер. :) это не решение ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:50 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosзалить в гит для игр он не для игр. это инженерная поддержка командной работы с исходниками. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:52 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosИммануил Кантпропущено... организационное. это должен делать один прогер. :) это не решение в этом случае - это единственно возможное решение ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:53 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosзалить в гит для игр он не для игр. это инженерная поддержка командной работы с исходниками. ничего он не поддерживает, это просто архив версий документа ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:53 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosпропущено... :) это не решение в этом случае - это единственно возможное решение ничего подобного ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:54 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosИммануил Кантпропущено... он не для игр. это инженерная поддержка командной работы с исходниками. ничего он не поддерживает, это просто архив версий документа конкретно гит - это возможность делать ветки. но сама по себе эта возможность если, нет организации процесса, ничего не даст. хочется считать его "просто архив версий документа" - да пожалста. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:56 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosИммануил Кантпропущено... в этом случае - это единственно возможное решение ничего подобного ок. предложи свое ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:57 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosпропущено... ничего он не поддерживает, это просто архив версий документа конкретно гит - это возможность делать ветки. но сама по себе эта возможность если, нет организации процесса, ничего не даст. хочется считать его "просто архив версий документа" - да пожалста. блин, какая организация проекта, если в проекте 10 тыщ акторов и не общаются они меж собой? кто будет организатором? почему кто то должен кого то слушать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:58 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosпропущено... ничего подобного ок. предложи свое кому? рынку? все время предлагаю ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 17:59 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosИммануил Кантпропущено... ок. предложи свое кому? рынку? все время предлагаю ты поставил задачу "несколько прогеров рефакторят один метод". при всех вводных я предложил решение - запретить так делать. что тут еще можно? декомпозировать метод? тогда это что-то с архитектурой не ладно. и даже если и ладно, такого рода изменения должны быть локализованы у одного чела, принимающего решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 18:04 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил КантViPRosпропущено... кому? рынку? все время предлагаю ты поставил задачу "несколько прогеров рефакторят один метод". при всех вводных я предложил решение - запретить так делать. что тут еще можно? декомпозировать метод? тогда это что-то с архитектурой не ладно. и даже если и ладно, такого рода изменения должны быть локализованы у одного чела, принимающего решения. ну, твои знания в этом деле на начальном уровне, потому ты ту не при чем (в жизни нет того единственного (бога), который принимает за всех решение, а вся жисть - это доступ к общим ресурсам, самоорганизация системы доступа) я хотел хвоста провоцировать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 18:07 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosну, твои знания в этом деле на начальном уровне, потому ты ту не при чем это аргумент аргументов. я убит ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 18:09 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosв жизни нет того единственного (бога), который принимает за всех решение есть. он либо ты сам, либо кто-то из твоих подчиненных ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 18:10 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил Кант, ты не возбуждайся, а подумай над тем, что я тебе сказал, если, конечно тебя интересует тема - как формируются правила поведения в обществе ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 18:26 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
и не путай методы работы с данными и метаданными (хотя все вумные книги пишут - типа метаданные тоже данные и на этом их "мета" кончается) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 18:27 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosа подумай над тем, что я тебе сказал над чем конкретно. я не уловил твою мысль всю полностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 18:28 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Иммануил Кант, мысль простая - система типа гит должна сама принимать решение и не только на основе детских правил - кто раньше или совпадает или нет куски текста, а на основе более сильных правил - благо, она работает не с данными а с метаданными все на эту тему, хвоста не возбудили, он уже опытный боец :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 18:35 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosсистема типа гит должна сама принимать решение и не только на основе детских правил - кто раньше или совпадает или нет это - метафизика ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 18:50 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosЭто одно и то же, что в гит, что в еф миграции - организационный регламент и больше ничего. Однопользовательский режим работы с ресурсом. Ты либо с DVCS никогда не работал, либо путаешь одно с другим. Вот как может быть в гите: 10:00 Вася коммит локально 10:10 Вася коммит локально 10:12 Петя коммит локально 10:15 Вася коммит локально 10:20 Аня коммит локально 10:20 Петя пулл-мерж-пуш 10:22 Аня пулл-мерж-пуш 10:30 Вася коммит локально 10:40 Вася пулл-мерж ... 17:00 Вася пулл-мерж-пуш Порядок не имеет значения, важны лишь конфликты при мерже. В миграциях БД, порядок имеет абсолютное значение, миграции применяются строго друг за другом. Нельзя смержить 2 миграции, не определив какая из двух будет первая, а какая вторая. Даже если взять определение по времени, ту миграцию, которую поставили на второе место должна учитывать первую, как если бы она уже была до её создания. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 19:10 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosмысль простая - система типа гит должна сама принимать решение и не только на основе детских правил - кто раньше или совпадает или нет куски текста, а на основе более сильных правил - благо, она работает не с данными а с метаданными Система не может принимать решение, когда возникают неоднозначности. Вася и Петя исправили одну и ту же строчку. Вася решил, что значение константы должно быть не 2, а 5, но Петя решил изменить на 10. Как тебе система должна принять решение? Бросить кости? Если 2 коммита не конфликтуют друг с другом, система легко их смержит. Такой же подход не работает для миграций. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 19:14 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVosttViPRosмысль простая - система типа гит должна сама принимать решение и не только на основе детских правил - кто раньше или совпадает или нет куски текста, а на основе более сильных правил - благо, она работает не с данными а с метаданными Система не может принимать решение, когда возникают неоднозначности. Вася и Петя исправили одну и ту же строчку. Вася решил, что значение константы должно быть не 2, а 5, но Петя решил изменить на 10. Как тебе система должна принять решение? Бросить кости? Если 2 коммита не конфликтуют друг с другом, система легко их смержит. Такой же подход не работает для миграций. вот эти 2 и 5 не всегда должны привести к конфликту в случае с гит (если в итоге получается эквивалентный код, то гит можно было бы еще по некоторым соображениям выбрать из них осмысленно или оставить любое из них) если это не просто фиксация версии документа а че с миграцией не так? - если в конечном варианте получается эквивалентная структура и данные, о почему порядок важен? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 19:29 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
Система может все :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 19:29 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosвот эти 2 и 5 не всегда должны привести к конфликту в случае с гит (если в итоге получается эквивалентный код, то гит можно было бы еще по некоторым соображениям выбрать из них осмысленно или оставить любое из них) они и не приводят к конфликту, гит не допускает конфликтов при мерже, а тупо ждёт когда неоднозначности зарезолвятся. если ты говоришь про некую эквивалентность на уровне кода, то значит за гитом должен стоять ещё один продукт с синтаксическим анализатором наперевес. глупее затеи придумать сложно, но кто знает. скоро на рынке UltraMerger, всего за $50 в месяц подписка )))) ViPRosа че с миграцией не так? - если в конечном варианте получается эквивалентная структура и данные, о почему порядок важен? миграции не только структуру могут изменять, но и данные. это раз. во-вторых, миграции строго идут один за другим, проблема не в эквивалентности и мерже, а в порядке. при чём каждая следующая миграция основывается на предыдущей. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 21:09 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
ViPRosСистема может все :) теоретически. ждём рождения Скайнета. тогда мы как вид «программист» отправимся на свалку истории ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 21:11 |
|
Как правильно работать с миграциями в продакшене?
|
|||
---|---|---|---|
#18+
hVostt, жди, недолго осталось а миграция ваша - фигня ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2016, 21:15 |
|
|
start [/forum/topic.php?all=1&fid=17&tid=1349422]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
102ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 295ms |
0 / 0 |