init
This commit is contained in:
94
migrations/20250126155704_init.sql
Normal file
94
migrations/20250126155704_init.sql
Normal file
@ -0,0 +1,94 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
SELECT 'up SQL query';
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id INTEGER PRIMARY KEY,
|
||||
name TEXT NOT NULL,
|
||||
username TEXT DEFAULT "",
|
||||
created DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS chats (
|
||||
id INTEGER PRIMARY KEY,
|
||||
name TEXT,
|
||||
username TEXT DEFAULT "",
|
||||
created DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS admins (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL,
|
||||
chat_id INTEGER NOT NULL,
|
||||
created DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
FOREIGN KEY (user_id) REFERENCES users (id),
|
||||
FOREIGN KEY (chat_id) REFERENCES chats (id)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS karma (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
from_user INTEGER NOT NULL,
|
||||
to_user INTEGER NOT NULL,
|
||||
change INTEGER,
|
||||
message TEXT DEFAULT "",
|
||||
created DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
CHECK(from_user != to_user),
|
||||
|
||||
FOREIGN KEY (from_user) REFERENCES users(id),
|
||||
FOREIGN KEY (to_user) REFERENCES users(id)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS warnings (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user INTEGER NOT NULL,
|
||||
admin INTEGER NOT NULL,
|
||||
message_id INTEGER DEFAULT 0,
|
||||
topic_id INTEGER DEFAULT 0,
|
||||
chat_id INTEGER NOT NULL,
|
||||
active INTEGER DEFAULT 1,
|
||||
reason TEXT DEFAULT "",
|
||||
|
||||
created DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
FOREIGN KEY (user) REFERENCES users (id),
|
||||
FOREIGN KEY (admin) REFERENCES users (id),
|
||||
FOREIGN KEY (chat_id) REFERENCES chats (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS admin_topics (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
chat_id INTEGER NOT NULL,
|
||||
topic_id INTEGER NOT NULL,
|
||||
|
||||
created DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
FOREIGN KEY (chat_id) REFERENCES chats (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS message_templates (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
tag TEXT NOT NULL,
|
||||
text TEXT NOT NULL,
|
||||
triggers TEXT,
|
||||
|
||||
created DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
SELECT 'down SQL query';
|
||||
DROP TABLE users ;
|
||||
DROP TABLE chats ;
|
||||
DROP TABLE admins ;
|
||||
DROP TABLE karma ;
|
||||
DROP TABLE warnings ;
|
||||
DROP TABLE admin_topics ;
|
||||
DROP TABLE message_templates ;
|
||||
|
||||
-- +goose StatementEnd
|
15
migrations/20250302015710_top_view.sql
Normal file
15
migrations/20250302015710_top_view.sql
Normal file
@ -0,0 +1,15 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
SELECT 'up SQL query';
|
||||
CREATE VIEW IF NOT EXISTS total_karma AS SELECT u.id, u.name, sum(change) as total from karma
|
||||
INNER JOIN users u ON u.id=karma.to_user
|
||||
WHERE 1
|
||||
GROUP BY u.id
|
||||
ORDER BY total DESC;
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
SELECT 'down SQL query';
|
||||
DROP VIEW total_karma
|
||||
-- +goose StatementEnd
|
@ -0,0 +1,17 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
SELECT 'up SQL query';
|
||||
ALTER TABLE users ADD COLUMN message_count INTEGER DEFAULT 0;
|
||||
ALTER TABLE users ADD COLUMN karma_history INTEGER DEFAULT 0;
|
||||
ALTER TABLE users ADD COLUMN karma_sent_history INTEGER DEFAULT 0;
|
||||
ALTER TABLE users ADD COLUMN karma_received_history INTEGER DEFAULT 0;
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
SELECT 'down SQL query';
|
||||
|
||||
ALTER TABLE users DROP COLUMN message_count;
|
||||
ALTER TABLE users DROP COLUMN karma_sent_history;
|
||||
ALTER TABLE users DROP COLUMN karma_received_history;
|
||||
-- +goose StatementEnd
|
Reference in New Issue
Block a user