Size: a a a

2020 August 05

АС

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

АГ

Алексей Гевондян... in PHP
да их вообще, как и хранимок, быть не должно) разве что в случае если "прям очень надо, и по-другому никак"
источник

АС

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

АГ

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

АС

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

АГ

Алексей Гевондян... in PHP
ну почему же, эластик, кликхаус, редис - вполне годные вещи)
источник

DE

Dmitry Eliseev in PHP
Алексей Гевондян
да их вообще, как и хранимок, быть не должно) разве что в случае если "прям очень надо, и по-другому никак"
Либо без триггеров делать на уровне PHP-кода, чтобы новый код лазил в обе колонки. Но это тоже сложнее.
источник

DP

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

АГ

Алексей Гевондян... in PHP
Dmitry Eliseev
Либо без триггеров делать на уровне PHP-кода, чтобы новый код лазил в обе колонки. Но это тоже сложнее.
ну такой триггер, как временное решение - это другое дело, надо просто ставить задачу на избавление от этих временных заглушек, прописывать сроки и условия, следить за выполнением этих задач.
источник

SP

Sergey Protko in PHP
Dmitry Eliseev
Да, делать миграции так, чтобы работал и старый код, и новый. Тогда откатывать не придётся.

Например, если надо переименовать поле, то вместо RENAME колонки мы первой миграцией делаем ADD + UPDATE и вешаем триггер для синхронизации новой колонки со старой. И теперь деплоим новый код.

В итоге старый код продолжает работать со старой колонкой, а новый уже пробует работать с новой.

А потом через неделю когда всё новое точно работает спокойно делаем DROP старого поля и триггера.
Аналогично только синхронизация происходит на уровне кода.
источник

NO

Nex Otaku in PHP
Альберт Степанцев
после чего спокойно выкатывайте "новый" код
тестируйте
и ставьте задачу на "схлопывание" состояния
Двухшаговая миграция, идеальный вариант ) Делаю так, когда что-то критичное меняется.
источник

NO

Nex Otaku in PHP
Похожий подход использую, кстати, с подключением новых внешних сервисов или например пакетов композера.

Выкатываю новый код на сервер вместе со старым.

При этом прод продолжает работать на старом коде, а новый код доступен в ручном режиме через консоль.

Прописываю все настройки, убеждаюсь что новый код заработал на проде. Потом более-менее спокойно переключаю прод на новый код )

На следующий день старый код можно удалять, если ничего не упало.

Но это если что-то критичное меняется, что весь сервис затрагивает. В таких случаях лучше перебдеть )
источник

NO

Nex Otaku in PHP
Dmitry Eliseev
Да, делать миграции так, чтобы работал и старый код, и новый. Тогда откатывать не придётся.

Например, если надо переименовать поле, то вместо RENAME колонки мы первой миграцией делаем ADD + UPDATE и вешаем триггер для синхронизации новой колонки со старой. И теперь деплоим новый код.

В итоге старый код продолжает работать со старой колонкой, а новый уже пробует работать с новой.

А потом через неделю когда всё новое точно работает спокойно делаем DROP старого поля и триггера.
В книге "эволюционная архитектура" такая методика описывается ) Логичный подход )
источник

F

FOX in PHP
2020 год, а люди снова изобретают многофазные миграции (:
источник

DE

Dmitry Eliseev in PHP
FOX
2020 год, а люди снова изобретают многофазные миграции (:
Не изобретают
источник

I

Irina in PHP
Добрый день. Я не программист, но активно его ищу. Подскажите, пожалуйста, Как найти на сдельщину программиста на рнр. Есть сайт и срм система, которые достались в наследство при покупке фирмы. И там все на самописном движке. Как найти программиста, который в ответственный момент не бросит - не знаю :( отчаянность и безысходность. Может быть либо здесь есть люди, кому интересно, либо кого-то можете посоветовать.
источник

А

Антон in PHP
Irina
Добрый день. Я не программист, но активно его ищу. Подскажите, пожалуйста, Как найти на сдельщину программиста на рнр. Есть сайт и срм система, которые достались в наследство при покупке фирмы. И там все на самописном движке. Как найти программиста, который в ответственный момент не бросит - не знаю :( отчаянность и безысходность. Может быть либо здесь есть люди, кому интересно, либо кого-то можете посоветовать.
источник

I

Irina in PHP
Спасибо большое за наводку!)
источник

SZ

Sergey Zolotov in PHP
источник

КГ

Константин Грачев... in PHP
дайошь php vm на rust
источник