Пользователи каждый день работают с 5-6 таблицами (создают,редактируют,удаляют записи). Хотелось бы сделать историю изменений данных в БД, где я могу посмотреть какой пользователь что конкретно сделал. Ну и в идеале это потом куда-то отобразить.
Работаю с OPENSERVER в связке с phpmyadmin. Не совсем понимаю как это сделать, так как сам в Frontend кручусь. Но данную реализацию нужно сделать мне.
Нужно ли мне создавать отдельные таблицы, и после изменения данных пользователем, дополнительно заносить данные пользователя в эту таблицу, и данные которые он ввёл ? Либо же это как-то по другому можно реализовать ?
Если под пользователями понимается MySQL пользователь, то один из вариантов - использование триггеров.
Настроив их, при внесении/удалении/изменении данных в созданную для этого таблицу с логами будут автоматически вноситься данные.
Преимущество такого способа в том, что вся логика находится на уровне БД.
Александр Каторгин, у триггеров как логгеров есть одна серьёзная проблема. Если транзакция откатывается, то и записанные в её процессе логи точно так же откатываются. То есть триггеры логают действия, но не логают намерения. Автора же интересует, что юзер сделал - возможно, требуется логать и то, что не получилось.