TGViewer
PHP Portal | Программирование PHP Portal | Программирование @phpgx · 4.65K subscribers
Post #546 2.12K
Болезненный урок, который я продолжаю усваивать, выполняя задачи по миграции данных в проде: нужно заранее убедиться, что изменённые записи можно легко отследить в том или ином виде

Если облажаться со скриптом миграции (а у меня такое бывало), то хотя бы можно сделать выборку из базы по всем записям с одинаковым значением поля updated_at, чтобы начать процесс восстановления или отката данных к исходному состоянию и попробовать снова.

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

Конечно, можно использовать механизмы защиты, такие как транзакции в БД, но это не панацея, если не выбрасывается исключение, транзакция не откатывается. Кроме того, таблица может быть слишком большой или слишком активно использоваться, чтобы пытаться заблокировать её целиком.

Полезно заранее продумывать худший сценарий и быть к нему готовым, когда приходится работать с продакшен-базами - на всякий случай

👉 @PHPgx
  • ❤ 6
  • 🌭 2
  • 👎 1
More from @phpgx
  1. Sep 21, 2026Совет по Laravel Все исходящие HTTP-ответы можно обрабатывать в одном месте с помощью Http…
  2. Sep 11, 2026Laravel tip Нужно получить все записи, кроме последних 5? skip() сам по себе игнорируется,…
  3. Sep 7, 2026В Laravel 13.30 появился удобный метод для Collection Использовали chunkWhile(), чтобы про…
  4. Sep 7, 2026PHP-совет В числовых литералах можно использовать подчёркивания, чтобы визуально группиров…
  5. Sep 2, 2026Он не из наших 👉 @PHPgx
  6. Aug 26, 2026TypePHP вышел в open source раньше запланированного 🎉 Изначально релиз исходников был нам…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →