Покажите короткий пример по теме «Backward compatible migrations» и объясните, что здесь важно.

PHPSeniorArchitectureТеорияphparchitecturebackward-compatible-migrationssenior-php-developer

Что хотят услышать интервьюеры:

Короткий пример по теме Backward compatible migrations:

Ответ:

<?php // add nullable column -> deploy code -> backfill -> make required

Что важно: код должен быть безопасным, читаемым и соответствовать контракту задачи. Для PHP-разработчика важно объяснить не только «как написать», но и «почему так безопаснее/надежнее».

  • expand/contract
  • безопасны для rolling deploy
  • важны для zero downtime

Типичная ошибка: удалить колонку до того, как старый код перестал ее читать.

На собеседовании: проговорите, какие edge cases вы бы проверили тестами и что бы логировали при ошибке.

Источники

Похожие вопросы