Ниже приведена ошибка, с которой я столкнулся.
[ОшибкаИсключение] include(/home/in-techhouse/Projects/qidigo/qidigo/vendor/composer/../../database/migrations/2020_12_16_135219_add_last_played_at_to_presentations.php): не удалось открыть поток:
Сценарий объяснил:
Скажите, пожалуйста, какие стандарты Laravel преодолевают эту ситуацию.
Теоретически ваши миграции должны работать нормально, если вы продолжаете создавать новые файлы и следите за тем, чтобы они запускались в порядке создания. Затем, если кто-то загрузит репо, отсутствующие миграции также должны выполняться в правильном порядке, и все должно быть в порядке.
Но я не могу точно сказать из вашего вопроса, переименовываются ли файлы. Если это так, то вам не повезло, так как вы больше не можете доверять содержимому таблицы migrations (которую Laravel создает для вас), так как в нем говорится, что миграция с именем файла "x" была выполнена, но с тех пор она была переименована. Таким образом, в следующий раз, когда вы php artisan migrate переименуете миграцию, она будет запущена, поскольку ее нет в таблице migrations.
Однако я сталкиваюсь с этими проблемами в основном на этапах запуска проекта. Если у вас много рефакторинга базы данных, я предлагаю вам сделать это сразу.
Вы всегда можете локально выполнить php artisan migrate:refresh, чтобы сбросить базу данных до новой структуры (хотя все данные будут удалены), но эта команда, вероятно, также столкнется с ошибками, если попытается откатить переименованные файлы, которые больше не может найти.