В большинстве случаев это возможно.большинство случаев, к сожалению, не страхует от одного случая, который не попадает в это большинство, и из-за которого может рухнуть весь проект.
надо писать миграции так, чтобы была возможность отката. В большинстве случаев это возможно.даже в "лабораторных условиях" и при идеальном раскладе - это не решает проблему примитивизма самих миграций. Теоретическая возможность отката не делает их менее примитивными, не добавляет им все возможные типы данных, которые есть в БД и всего остального. А невозможность выполнить одну любую операцию в производственном цикле, говорит о не ликвидности всей системы. То есть, "пациент либо жив, либо мёртв", вариант "пациент жив на 90%", к сожалению, невозможен. Так же как компьютер, не может работать в отсутствии одного из ключевых компонентов.
Что касается триггеров и т.д., то логика на уровне базы слишком дорого обходится.При неправильном подходе, даже использование фреймворка слишком дорого обходиться. И есть ряд случаев, когда его использование просто невозможно. Я уже не говорю, про CMS... Есть случаи, когда даже использование JOIN'ов слишком дорого обходится. Но это не повод, перестать использовать JOIN'ы.
Но есть одна проблема: я не вижу что в лог появилась ошибка или предупреждение.
Подскажите, как дублировать лог-сообщения в консоль PhpStorm? Или как принято решать эту задачу?
Решается проблема помещением js-скриптов прямо на страницу шаблона php, но не думаю, что так задумано) Кто-нибудь сталкивался с подобным?В консоли ошибок нет?
Вторая проблема - очень тяжело доходят обновления стилей и разметки, постоянно приходится чистить кэш браузера. Это нормально, или с этим можно как-то бороться?
<script src="/js/script.js?v=10"></script>
, где v=10 - условная версия скрипта. Можно вместо этого выводить например, дату (timestamp) из php. Тогда скрипт не будет кэшироваться. Или, просто отключите кэширование в браузере или на сервере.
P.S. Значения переменных, заключать в одинарные кавычки обычно крайне желательно, всегда, даже если это целое число. Такой подход может избавить от ряда потенциальных проблем в будущем.