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