make first migration to implement database
This commit is contained in:
parent
c393cec924
commit
75fc962c9a
1 changed files with 44 additions and 0 deletions
44
migrations/1_init.sql
Normal file
44
migrations/1_init.sql
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
CREATE TABLE "user"
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
tg_id INTEGER NOT NULL UNIQUE,
|
||||
can_download INTEGER NOT NULL,
|
||||
is_admin INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "chat"
|
||||
(
|
||||
tg_id INTEGER PRIMARY KEY,
|
||||
can_download INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "link"
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
domain TEXT NOT NULL UNIQUE,
|
||||
path TEXT,
|
||||
download_allowed INTEGER NOT NULL,
|
||||
auto_download INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX idx_link_domain
|
||||
ON "link"(domain);
|
||||
|
||||
CREATE TABLE "request"
|
||||
(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
requested_by INTEGER NOT NULL UNIQUE,
|
||||
approved_by INTEGER UNIQUE,
|
||||
message TEXT,
|
||||
is_approved INTEGER NOT NULL,
|
||||
|
||||
FOREIGN KEY(requested_by) REFERENCES "user"(id),
|
||||
FOREIGN KEY(approved_by) REFERENCES "user"(id)
|
||||
);
|
||||
|
||||
CREATE TRIGGER "approve"
|
||||
AFTER UPDATE OF is_approved ON "request"
|
||||
WHEN new.is_approved = 1
|
||||
BEGIN
|
||||
UPDATE user SET can_download = 1 WHERE user.id = new.requested_by;
|
||||
END;
|
||||
Loading…
Add table
Reference in a new issue