83 lines
1.8 KiB
MySQL
83 lines
1.8 KiB
MySQL
|
-- +goose Up
|
||
|
-- +goose StatementBegin
|
||
|
SELECT 'up SQL query';
|
||
|
|
||
|
create table if not exists chats
|
||
|
(
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
name TEXT NOT NULL,
|
||
|
username TEXT DEFAULT '',
|
||
|
topic INTEGER DEFAULT 0,
|
||
|
active INTEGER DEFAULT 0,
|
||
|
rules_msg TEXT DEFAULT ''
|
||
|
);
|
||
|
|
||
|
create table if not exists activations
|
||
|
(
|
||
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
code TEXT NOT NULL
|
||
|
);
|
||
|
|
||
|
create table if not exists messagesToDelete
|
||
|
(
|
||
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
message_id INTEGER NOT NULL,
|
||
|
chat_id INTEGER NOT NULL,
|
||
|
delete_date INTEGER NOT NULL,
|
||
|
tries INTEGER DEFAULT 0
|
||
|
);
|
||
|
|
||
|
create table if not exists users
|
||
|
(
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
name TEXT NOT NULL,
|
||
|
username TEXT DEFAULT ''
|
||
|
);
|
||
|
|
||
|
create table if not exists admins
|
||
|
(
|
||
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
user_id INTEGER NOT NULL,
|
||
|
chat_id INTEGER NOT NULL,
|
||
|
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE,
|
||
|
FOREIGN KEY (chat_id) REFERENCES chats (id) ON DELETE CASCADE
|
||
|
);
|
||
|
|
||
|
create table if not exists bans
|
||
|
(
|
||
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
chat_id INTEGER NOT NULL,
|
||
|
user_id INTEGER NOT NULL,
|
||
|
text TEXT DEFAULT '',
|
||
|
reason TEXT DEFAULT '',
|
||
|
ban_date INTEGER NOT NULL,
|
||
|
unban_date INTEGER DEFAULT 0,
|
||
|
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE,
|
||
|
FOREIGN KEY (chat_id) REFERENCES chats (id) ON DELETE CASCADE
|
||
|
);
|
||
|
|
||
|
create table if not exists captchas
|
||
|
(
|
||
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
user_id INTEGER,
|
||
|
chat_id INTEGER,
|
||
|
message_id INTEGER,
|
||
|
correct_answer TEXT DEFAULT '',
|
||
|
blocked_until INTEGER DEFAULT 0,
|
||
|
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE,
|
||
|
FOREIGN KEY (chat_id) REFERENCES chats (id) ON DELETE CASCADE
|
||
|
)
|
||
|
-- +goose StatementEnd
|
||
|
|
||
|
-- +goose Down
|
||
|
-- +goose StatementBegin
|
||
|
SELECT 'down SQL query';
|
||
|
drop table chats;
|
||
|
drop table activations;
|
||
|
drop table messagesToDelete;
|
||
|
drop table users;
|
||
|
drop table admins;
|
||
|
drop table bans;
|
||
|
drop table captchas;
|
||
|
-- +goose StatementEnd
|