commit c731477ca87c9f32e74f075790b2d76bb4ab833d
parent 26f5a2f6e142c9ff1e13bf9769fd9fc46ba5d1ea
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Thu, 10 Nov 2022 12:45:15 -0800
add karma history table & general messages count
Diffstat:
2 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/pkg/database/tableKarmaHistory.go b/pkg/database/tableKarmaHistory.go
@@ -0,0 +1,23 @@
+package database
+
+import "time"
+
+type KarmaHistory struct {
+ ID int64
+ Karma int64
+ Description string
+ UserID int64
+ FromUserID *int64
+ CreatedAt time.Time
+}
+
+func CreateKarmaHistory(karma int64, description string, userID int64, fromUserID *int64) (out KarmaHistory, err error) {
+ out = KarmaHistory{
+ Karma: karma,
+ Description: description,
+ UserID: userID,
+ FromUserID: fromUserID,
+ }
+ err = DB.Create(&out).Error
+ return
+}
diff --git a/pkg/migrations/111.sql b/pkg/migrations/111.sql
@@ -0,0 +1,23 @@
+-- +migrate Up
+ALTER TABLE users ADD COLUMN general_messages_count INTEGER NOT NULL DEFAULT 0;
+
+CREATE TABLE IF NOT EXISTS karma_history (
+ id INTEGER NOT NULL PRIMARY KEY,
+ user_id INTEGER NOT NULL,
+ from_user_id INTEGER NULL,
+ karma INTEGER NOT NULL,
+ description VARCHAR(255) NOT NULL,
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ CONSTRAINT karma_history_user_id_fk
+ FOREIGN KEY (user_id)
+ REFERENCES users (id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ CONSTRAINT karma_history_from_user_id_fk
+ FOREIGN KEY (from_user_id)
+ REFERENCES users (id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE);
+CREATE INDEX karma_history_user_id_idx ON karma_history (user_id);
+
+-- +migrate Down