|
Как правильно сделать отслеживание изменений в таблицах ?
|
|||
---|---|---|---|
#18+
Хочу сделать лог изменения данных, что бы отслеживать изменения и когда они произошли. Рассмотрим вариант, когда пользователь меняет параметры Заказа от клиента это в одной таблице. И к этому заказу еще привязана таблица с содержанием самого заказа. Т.е. пользователь может поменять дату заказа, его статус, комментарий написать. Это все касается одной таблицы. А может поменять содержание заказа. Может добавить новый товар, изменить цену и т.д. Отслеживание должно быть в таком русле. Какой-то пользователь зашел в базу использую свой пароль и логин и изменил какие-то параметры заказа. И тогда должны быть сделаны соответствующие записи, что такой пользователь в такое время изменил такой перечень значений с такого значения на такое. Есть два варианта. Первый это все делать вручную. И при обновлении данных проверять, что изменилось и записывать вручную, что конкретно изменилось. Недостаток в том, что при большим количестве параметров все это долго описывать. И при добавление или удалении каких-то параметров это процессы надо править. В общем очень трудоемко Второй. Можно прописать тригер на обновление данных в таблицах и записывать эти значения уже автоматизированно. Но возникает проблема в том как потом увязать, что именно вот эти изменения были сделанные этим пользователем именно тогда. Ведь тригер будет просто писать лог изменений без привязки к конкретному пользователю. По идее когда тригер будет писать, что произошло изменение, то туда надо передавать идентификатор изменения, по которому можно будет уже связать все эти изменения в разных таблицах в единую цепочку. Но передать туда параметры не возможно. Так как это тригер. Кто-то сталкивался как решить эту задачу ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 11:07 |
|
Как правильно сделать отслеживание изменений в таблицах ?
|
|||
---|---|---|---|
#18+
Можно попробовать записать ID пользователя в сессионную переменную, а в триггере использовать это значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 11:28 |
|
Как правильно сделать отслеживание изменений в таблицах ?
|
|||
---|---|---|---|
#18+
vkle Можно попробовать записать ID пользователя в сессионную переменную, а в триггере использовать это значение. Хорошая идея. А разве тригер не будет работать в своей сессиии, он ведь не зависит от них ? Можно пример такой глобальной сессионной переменной, которая будет доступна в тригере ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 11:36 |
|
Как правильно сделать отслеживание изменений в таблицах ?
|
|||
---|---|---|---|
#18+
Jonnik как потом увязать, что именно вот эти изменения были сделанные этим пользователем именно тогда. Ведь тригер будет просто писать лог изменений без привязки к конкретному пользователю. Jonnik передать туда параметры не возможно. Так как это тригер. Jonnik А разве тригер не будет работать в своей сессиии, он ведь не зависит от них ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 11:59 |
|
Как правильно сделать отслеживание изменений в таблицах ?
|
|||
---|---|---|---|
#18+
Akina Jonnik как потом увязать, что именно вот эти изменения были сделанные этим пользователем именно тогда. Ведь тригер будет просто писать лог изменений без привязки к конкретному пользователю. Jonnik передать туда параметры не возможно. Так как это тригер. Jonnik А разве тригер не будет работать в своей сессиии, он ведь не зависит от них ? Там вообще один сервер и сотни баз в каждой из которых есть куча пользователей. И создавать под каждого юзера еще и юзера в серваке это тоже не вараинт. Про сессию понял. В принципе это решить все вопрос. Надо только это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 12:09 |
|
|
start [/forum/topic.php?fid=47&msg=39943417&tid=1828660]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 298ms |
total: | 512ms |
0 / 0 |