Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Вести историю правок #7

Open
zherebjatjew opened this issue Sep 10, 2012 · 1 comment
Open

Вести историю правок #7

zherebjatjew opened this issue Sep 10, 2012 · 1 comment

Comments

@zherebjatjew
Copy link
Owner

Все действия должны логироваться. Пока не горит, но с развитием системы может быть полезно. Может потребовать апгрейда heroku-аккаунта.

@zherebjatjew
Copy link
Owner Author

Заводим таблицу

create_table 'history' do |t|
   t.integer 'user'  # кто сделал изменения
   t.string 'table'   # в какой таблице
   t.integer 'operation' # тип изменения: создание, удаление, модификация
   t.string 'changed_to' # новая строка (только для создания и модификации)
   t.string 'diff'     # отличие от предыдущего значения
# Определяется как разница между changed_to этой строки и предыдущей. Строится по запросу.
   t.datetime 'created_at' # дата и время логирования
end

Добавляем обработчик after_save в каждую таблицу, кроме этой.
Ещё понадобится страница истории с разными полезными кнопками вроде "покажи, кто поставил такое значение в order(1).cargo.serder_id"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant