Ich möchte Benutzern Punkte geben, wenn sie eine bestimmte Sache tun. Zum Beispiel:Datenbankschema für die Belohnung von Benutzern für ihre Aktivitäten
- Zugabe Artikel
- Zugabe Frage
- beantworten Frage
- mögen Artikel
usw.
Einige von ihnen können Bedingungen wie dort nur Punkte sind für die ersten 3 Artikel pro Tag, aber ich denke, dass ich das direkt in meiner Codebasis behandeln werde.
Das Problem ist, was wäre ein gutes Datenbank-Design, um damit umzugehen? Ich denke an 3 Tische.
- user_activities - in dieser Tabelle I Ereignistypen speichern (ich benutze Laravel so dass es wahrscheinlich das Ereignis Klassennamen sein würde) und Punkte für bestimmtes Ereignis.
- activity_user - Pivot-Tabelle zwischen user_activities und Benutzern.
- und natürlich Anwender Tabelle
Es ist sehr einfach, so dass ich Sorgen einige Bedingungen gibt es Ich habe nicht gedacht, und es würde mich in der Zukunft kommen und beißen.