«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2019/08/12 08:49:44  №1451841 1
Сап двощь, я немного не понял по теме бд миграций. Например стоит задача изменить что-то очень важное в архитектуре бд, это изменение ломает например немного кода, но чтобы не ломало надо обойти всю таблицу и что-то апдейтнуть в ней. Как происходит вот этот весь воркфлоу с гитом и миграциями? Я не думаю что будет правильно сразу в файле миграций писать скл код который обходит таблицы и что-то с ними делает, наверное стоит это сделать какой-то консольной командой?
Ответы: >>1451915
Аноним 2019/08/12 10:28:51  №1451915 2
>>1451841
Тебе понадобилось новое поле в таблице, ты написал в коде вывод этого поля во вьюхе (например) и написал миграцию с добавлением этого поля. Закомитил и отправил в репозиторий. Скрипт делоя увидел новый коммит спулил его и запустил миграцию. Конец истории.
Ответы: >>1451940 >>1452237
Аноним 2019/08/12 11:35:35  №1451940 3
>>1451915
Я немного про другое, например я добавил новое поле, но по логике приложения это поле computed из каких-то других полей, и нужно старые записи обновить каким-то масс апдейтом. Я вот и спрашиваю где лучше писать код этого масс апдейта, прямо в файле с миграциями?
Ответы: >>1451949
Аноним 2019/08/12 12:11:49  №1451949 4
>>1451940
Логически - да в файле миграций.
Пример: Ты ведешь разработку с кем то в команде, у каждого своя локальная база соответственно. Ты решил привнести свое сложное изменение базы - для других локально надо будет так же только запустить миграцию.
Но есть нюанс если у тебя на бою Большие данные и обработка всей базы по твоим новым правилам не влезет в 10 минут (или сколько там живет cli) то естественно тут будет другое решение.