Size: a a a

2020 August 11

SP

Sergey Protko in PHP
ну и раз заговорили про миграции - кто что делает если у него накопилось 150-200 версий миграций и бесит?
источник

DT

Dmitriy Tkachenko in PHP
мб сквошить?
источник

DE

Dmitry Eliseev in PHP
Валентин Удальцов
Кстати, вы всегда делаете миграции обратимыми?
Для девелопмента да. Локально туда-сюда погонять если надо
источник

SP

Sergey Protko in PHP
Dmitriy Tkachenko
мб сквошить?
ну вот 2 года назад я сосквошил и уменьшил количество с 100 до 10. Сейчас вот думаю может есть варианты более умные
источник

AD

Andrey Dembitskyi in PHP
Sergey Protko
ну и раз заговорили про миграции - кто что делает если у него накопилось 150-200 версий миграций и бесит?
сквошить и помечать выполненными вручную
источник

BT

Bohdan Turchyk in PHP
Sergey Protko
ну вот 2 года назад я сосквошил и уменьшил количество с 100 до 10. Сейчас вот думаю может есть варианты более умные
я тоже только сквошил, делал типа baseline
источник

DT

Dmitriy Tkachenko in PHP
ну т.е. миграции, которые уже за доброй сотней других не будет откатываться по очевидным причинам, значит их можно засквошить все. Там полюбому еще и действия с нулевой суммой аннигилируются
источник

ВУ

Валентин Удальцов... in PHP
Dmitry Eliseev
Для девелопмента да. Локально туда-сюда погонять если надо
Локально у нас make db-reset fixtures более надёжно перезапустит все ☺️
источник

AM

Artem Molotov in PHP
Sergey Protko
ну вот 2 года назад я сосквошил и уменьшил количество с 100 до 10. Сейчас вот думаю может есть варианты более умные
Зависит от проекта. Если взять тот же Voyager, который пилится "для народа", а не "для себя", то там уже не сосквошишь никак. У людей проблемы попрут.
источник

SP

Sergey Protko in PHP
Dmitriy Tkachenko
ну т.е. миграции, которые уже за доброй сотней других не будет откатываться по очевидным причинам, значит их можно засквошить все. Там полюбому еще и действия с нулевой суммой аннигилируются
ну вот допустим в одной версии добавили табличку, в другой поменяли ее и в третьей удалили за ненадобностью. Я когда сквошу у меня операции в целом остаются.
источник

SP

Sergey Protko in PHP
Bohdan Turchyk
я тоже только сквошил, делал типа baseline
я вот уже подумываю положить снэпшет базы с таким вот бэйзлайном + группировка версий по месяцам что бы хоть как-то проще навигация была
источник

DT

Dmitriy Tkachenko in PHP
Sergey Protko
ну вот допустим в одной версии добавили табличку, в другой поменяли ее и в третьей удалили за ненадобностью. Я когда сквошу у меня операции в целом остаются.
а смысл? это ж как снапшот должна стать миграция. Т.е. конечный стейт схемы без пути его становления. Зачем в сквошнутом делать создание таблицы и изменение, если она всеравно в конце удаляется?
источник

SP

Sergey Protko in PHP
мол Migrations/V202008/V20200811123321.php
источник

A

Aleksandr Khristenko in PHP
Sergey Protko
ну вот 2 года назад я сосквошил и уменьшил количество с 100 до 10. Сейчас вот думаю может есть варианты более умные
Вроде были не императивные подходы. Т.е. вместо того, чтобы описывать как мы меняем данные описывалась структура базы. И был инструмент, который по этой структуре приводил базу в новое состояние.
источник

SP

Sergey Protko in PHP
Aleksandr Khristenko
Вроде были не императивные подходы. Т.е. вместо того, чтобы описывать как мы меняем данные описывалась структура базы. И был инструмент, который по этой структуре приводил базу в новое состояние.
есть такие, но я не оч им доверяю
источник

A

Aleksandr Khristenko in PHP
Sergey Protko
есть такие, но я не оч им доверяю
Почему?:
источник

ВУ

Валентин Удальцов... in PHP
Sergey Protko
есть такие, но я не оч им доверяю
+1. Часто дело не только в схеме же. Надо и данные по умному между версиями схем пронести
источник

DE

Dmitry Eliseev in PHP
Валентин Удальцов
Локально у нас make db-reset fixtures более надёжно перезапустит все ☺️
По такому make init все миграции запускаются на голой БД до фикстур, что не найдёт некоторых ошибок запуска на БД с данными
источник

SP

Sergey Protko in PHP
Валентин Удальцов
+1. Часто дело не только в схеме же. Надо и данные по умному между версиями схем пронести
у меня есть два набора миграций - одни обычные доктриновские мигрируют схему. Другие - сервисы которые содержат в себе идемпотентные миграции стэйта базы.

Смысл в том что миграции схемы обратно совместимы и выкатывают ДО деплоя, и если деплой фэйлится то откатывать ничего не надо. А код forward compatible с миграцией данных, и миграция данных запускается когда новый код уже раскатился.
источник

ВК

Володимир Кудрик... in PHP
laravel, как ограничить вывод в отношении? Получаеться есть категрия, в ней через отношения выводяться товары, когда я в отношении прописываю limit(5) то выводиться всего 5 товаров, а я хотел бы 5 товаров каждой категории
источник