Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Отслеживание изменений записей - дёшево и сердито
|
|||
|---|---|---|---|
|
#18+
Задача: отслеживание изменений (версий) данных - кто, когда, откуда изменил данные, сохранение версий данных с возможностью отката, сбор статистики по изменениям. Контекст: web-приложение, PostgreSQL. Быстрое и сердитое решение на скорую руку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Грызут меня сомнения, что такой велосипед уже давно где-то предложен, осмеян, и разобран на деревянные запчасти Должно быть лучшее решение, не подскажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2005, 13:50 |
|
||
|
Отслеживание изменений записей - дёшево и сердито
|
|||
|---|---|---|---|
|
#18+
На мой взгляд, примерно "4" за курсовую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2005, 14:11 |
|
||
|
Отслеживание изменений записей - дёшево и сердито
|
|||
|---|---|---|---|
|
#18+
Не фиксируется вот что: 1. Какое поле изменили 2. Старое и новое значение поля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2005, 14:48 |
|
||
|
Отслеживание изменений записей - дёшево и сердито
|
|||
|---|---|---|---|
|
#18+
BusyManНе фиксируется вот что: 1. Какое поле изменили 2. Старое и новое значение поля А зачем? Пример ниже, как можно такого рода инфу получить и провести rollback Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2005, 16:05 |
|
||
|
Отслеживание изменений записей - дёшево и сердито
|
|||
|---|---|---|---|
|
#18+
Ниче не понял :) По-русски хоть бы описал, чего там делается. У меня лично по простому и легкому работает: создается триггер, таблица-лог, клон той, что отслеживаем, при любой операции пишем в триггере в таблицу-лог и в общую таблицу, где написано кто, что, когда. Даже софтина такая написана, чтобы включать-отключать аудит и просматривать, чего было. Может выложить куда напоказ...... Правда для MS SQL. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 13:46 |
|
||
|
Отслеживание изменений записей - дёшево и сердито
|
|||
|---|---|---|---|
|
#18+
tygra У меня лично по простому и легкому работает: создается триггер, таблица-лог, клон той, что отслеживаем, при любой операции пишем в триггере в таблицу-лог и в общую таблицу, где написано кто, что, когда. Здесь тоже таблица-лог, клон отслеживаемой, только унаследована от общей таблицы global_history где написано кто, что, когда. Внесение записей в лог организуется вызовом хп log_change единообразно для всех отслеживаемых таблиц - лень писать для каждой отдельно :). Если отслеживать изменения, внесенные пользователями БД (которые create user ), то можно повесить на таблицы триггеры, которые будут автоматически сохранять изменения, вызывая log_change . Проблема в том, что веб - приложения, как правило, имеют коннект от имени одного пользователя БД, а пользователи веб-приложения авторизуются не СУБД, а приложением. И отслеживать нужно изменения, созданные именно пользователями веб-приложения. :( Мож, есть хорошее решение для такого случая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 14:43 |
|
||
|
Отслеживание изменений записей - дёшево и сердито
|
|||
|---|---|---|---|
|
#18+
Да нет, тут только "насильно" отдавать в процедуры имя веб-пользователя, как его еще определишь? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 15:23 |
|
||
|
Отслеживание изменений записей - дёшево и сердито
|
|||
|---|---|---|---|
|
#18+
tygraНиче не понял :) По-русски хоть бы описал, чего там делается. У меня лично по простому и легкому работает: создается триггер, таблица-лог, клон той, что отслеживаем, при любой операции пишем в триггере в таблицу-лог и в общую таблицу, где написано кто, что, когда. Даже софтина такая написана, чтобы включать-отключать аудит и просматривать, чего было. Может выложить куда напоказ...... Правда для MS SQL. -- Tygra's --Почему бы и нет? Я бы посморел. Жаль, никто не занимается разработкой Web-beer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 20:29 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=154&tid=1545892]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 421ms |

| 0 / 0 |
