Недоброкачественная-Вопрос:
Подводя итог, я немного запутался в том, как я буду создавать такую базу данных, которая позволяет создавать неограниченное правило значка, не требуя структурных изменений ранее существующих пользовательских таблиц в базе данных.
Сохранение названия знака, критериев и т.д. Как выглядит эта таблица?
- badge_id (1)
- badge_title (значок 10K)
- badge_image (10k.jpg)
- badge_criteria ([posts] >= 10000)
...
наматывается-Вопрос:
Я хотел бы реализовать бейдж-систему в своих личных проектах, но я ищу немного совета относительно того, как лучше всего делать такую вещь. Я читал некоторые из вопросов здесь о системах значков, но не вижу, чтобы архитектура базы данных получала много внимания.
Значки, которые основаны на пользовательских точках (Гипотетический "Значок 10k" ), выглядят довольно прямолинейно. Любое событие, которое влияет на репутацию пользователей (upvotes, downvotes, answer-accepted и т.д.), Будет ссылаться на метод обзора новой репутации пользователей и потенциально награждать значок.
Эта система звучит довольно прямолинейно, но что это похоже на базу данных для администратора, которая хочет создать бесчисленные суммы значков с небольшим усилием в будущем - некоторые из них могут быть основаны на разных критериях, а не просто репутация пользователя.
Пользовательская репутация, вероятно, является значением внутри самой пользовательской записи. Но в идеале, не хотите ли вы не добавлять новые поля в таблицу пользователей при создании новых значков? Например, значок "Edited 100 Entries" - вы не создали бы новый столбец "entries_edited" в таблице Users, не так ли? А затем увеличивайте, что после каждой редактируемой записи...
Любые подсказки?
Архив Stackoverflow:
- Лучший способ сохранения критериев значков (не дубликат)
- Проектирование системы значков: где запускать бизнес-логику?
Примечание. Я НЕ спрашиваю, как связать значки с пользователями. Я не спрашиваю, как награждать значки (это будет сделано программно)