Повествование пойдёт про ненастоящий стартап. Ненастоящий — в основном из-за того, что на создание ушло 7 лет (с перерывами и творческими кризисами). И, прежде чем уйти в ностальгию, сразу ссылка на демо песню.
А что если к такой замечательной возможности MySQL как создание триггеров, способных записывать старые и новые значения данных при вставке, изменении и удалении записей добавить информацию, которой обладает php скрипт?
Триггеры MySQL знают:
* момент в который происходит изменение
* старое и новое значение
PHP знает:
* кто в данный момент залогинен
* какая страница открыта, с какой перешли
* бравзер
* IP адрес
* POST, GET
* Cookie
Каким же способом можно умудриться записать всю необходимую информацию?
Кто-то давно сам догадался, кто-то, прочтя заголовок сразу же понял мысль, а кто-то до сих пор не знает, как можно без особого труда бесконечно пользоваться ограниченными по длительности использования триал версиями программ.
Когда на проекте ближе к концу разработки становится понятно, что без версионности данных не обойтись, ведь любой пользователь может зайти и удалить то, что создавалось на протяжении долгого времени десятками других людей, приходится искать решение, требующее минимальных трудозатрат. Не вникая в подробности конкретного проекта, на котором появилась такая необходимость, представим себе google docs spreadsheets документ доступный для редактирования любому посетителю сайта.