Основная таблица
Например, user
Скриншот фрагмента кода удалён модератором.
Все стандартно, «веселье» начинается дальше
Историей изменений в основной таблице
У каждого пользователя есть возможность изменить запись, историю по пользователям храню вот так:
Скриншот фрагмента кода удалён модератором.
Параметры
Проект подразумевает, что у каждого элемента основной таблицы есть параметры.
Сейчас храню их (если придерживаться примера выше) в таблице user_params
Скриншот фрагмента кода удалён модератором.
Получаю по hash или id пользователя
Историей изменений параметров
Скриншот фрагмента кода удалён модератором.
В чём вопрос-то? Откуда левому человеку (например мне) знать, что у тебя за бизнес-требования. В таблицах нет связей, то есть, валидировать "на глаз" тут особо нечего. Какие-то данные, ок. Какие-то хэши. Зачем? Но ок. Мы же не знаем, что у тебя за приложение.
Скриншот фрагмента кода удалён модератором.
Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой </> Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.