Size: a a a

2020 August 04

КГ

Константин Грачев... in PHP
Artem Molotov
потому что миграции не проходят в одной транзакции и код может работать с промежуточным (между миграциями) состоянием
Ну вообще подобный тест сравнивает текущую версию и версию на проде.
Обычно на всех проектах было правило - одна задача/pr = 1 миграция.
Таким образом каждая миграция попадает под регрессное тестирование, а на прод они уже могут пачкой лететь
источник

AM

Artem Molotov in PHP
Константин Грачев
Ну вообще подобный тест сравнивает текущую версию и версию на проде.
Обычно на всех проектах было правило - одна задача/pr = 1 миграция.
Таким образом каждая миграция попадает под регрессное тестирование, а на прод они уже могут пачкой лететь
Окей. Правда и в рамках одной транзакции тоже могут быть подобные проблемы (если в миграции много/долгих запросов с потенциальным implicit commit)
источник

AM

Artem Molotov in PHP
Artem Molotov
потому что миграции не проходят в одной транзакции и код может работать с промежуточным (между миграциями) состоянием
ну и наоборот если таких запросов нет, а несколько миграций запущено в одной транзакции через флаг команды, то проблем не должно быть
источник

DE

Dmitry Eliseev in PHP
Igor
ну я в том, плане чтобы примеры коммитов глянуть. Я просто чет в branch by abstraction не очень понимаю. Хотелось бы примеры
Небольшой пример с формой заказа здесь приведён:
источник

АГ

Алексей Гевондян... in PHP
представим ситуацию: подготовили новый функционал, все протестировали, все вроде ок. выкатываем на прод. собрали докер образ, пометили тегами, все сделали. переключили трафик потихоньку на новую систему, но что-то пошло не так. начали падать ошибки в лог / сервера перестали вывозить нагрузку. было решено откатываться, и разбираться в проблеме. но вот незадача: на базу накатились миграции. если вернуть старый код на эту базу - он работать не будет. будут другие баги. надо откатывать миграции. но при этом произошло удаление столбца / таблицы. если ревертнуть миграции, то структура восстановится на предыдущее состояние, но данные уже нет. как быть? заливать дамп, сделанный перед переключением? но тогда произойдет потеря данных, возникших во время работы системы в новой забагованной версии. факап, выхода нет? или таки есть?
источник

АС

Альберт Степанцев... in PHP
Как быть?
Не позволять php-шникам лазать в базу ))
источник

АС

Альберт Степанцев... in PHP
это же настолько простое решение, что оно лежит на поверхности
источник

АГ

Алексей Гевондян... in PHP
база отдельно приложение отдельно? как быть с миграциями?
источник

АС

Альберт Степанцев... in PHP
и проверено годами опыта в серьезной разработке
источник

АС

Альберт Степанцев... in PHP
Алексей Гевондян
база отдельно приложение отдельно? как быть с миграциями?
нет никаких миграций
источник

АГ

Алексей Гевондян... in PHP
ну как это так. 1 раз и навсегда запроектировали базу? так не бывает...
источник

АС

Альберт Степанцев... in PHP
нет
источник

АС

Альберт Степанцев... in PHP
вы не понимаете просто
источник

КГ

Константин Грачев... in PHP
Сегодня же только обсуждали про миграции?
источник

АС

Альберт Степанцев... in PHP
лень сейчас расписывать
источник

АГ

Алексей Гевондян... in PHP
ну я пробежал глазами в легкую, не вчитывался. там был ответ на этот вопрос?
источник

АС

Альберт Степанцев... in PHP
завтра напомните рассказать, как это в реальности делается
источник

КГ

Константин Грачев... in PHP
Алексей Гевондян
ну я пробежал глазами в легкую, не вчитывался. там был ответ на этот вопрос?
Да
источник

АГ

Алексей Гевондян... in PHP
супер, значит надо перечитать...
источник

ЕР

Евгений Ромашкан... in PHP
Обожаю когда Альберт разработку в своей студии с пхпшниками выдаёт за "серьёзную разработку" )
источник