lemmy/migrations/2019-04-07-003142_create_moderation_logs/up.sql
Dessalines be1389420b
Adding SQL format checking via pg_format / pgFormatter (#3740)
* SQL format checking, 1.

* SQL format checking, 2.

* SQL format checking, 3.

* SQL format checking, 4.

* SQL format checking, 5.

* Running pg_format

* Getting rid of comment.

* Upping pg_format version.

* Using git ls-files for sql format check.

* Fixing sql lints.

* Addressing PR comments.
2023-08-02 12:44:51 -04:00

76 lines
2.8 KiB
SQL

CREATE TABLE mod_remove_post (
id serial PRIMARY KEY,
mod_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
post_id int REFERENCES post ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
reason text,
removed boolean DEFAULT TRUE,
when_ timestamp NOT NULL DEFAULT now()
);
CREATE TABLE mod_lock_post (
id serial PRIMARY KEY,
mod_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
post_id int REFERENCES post ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
locked boolean DEFAULT TRUE,
when_ timestamp NOT NULL DEFAULT now()
);
CREATE TABLE mod_remove_comment (
id serial PRIMARY KEY,
mod_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
comment_id int REFERENCES COMMENT ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
reason text,
removed boolean DEFAULT TRUE,
when_ timestamp NOT NULL DEFAULT now()
);
CREATE TABLE mod_remove_community (
id serial PRIMARY KEY,
mod_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
community_id int REFERENCES community ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
reason text,
removed boolean DEFAULT TRUE,
expires timestamp,
when_ timestamp NOT NULL DEFAULT now()
);
-- TODO make sure you can't ban other mods
CREATE TABLE mod_ban_from_community (
id serial PRIMARY KEY,
mod_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
other_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
community_id int REFERENCES community ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
reason text,
banned boolean DEFAULT TRUE,
expires timestamp,
when_ timestamp NOT NULL DEFAULT now()
);
CREATE TABLE mod_ban (
id serial PRIMARY KEY,
mod_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
other_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
reason text,
banned boolean DEFAULT TRUE,
expires timestamp,
when_ timestamp NOT NULL DEFAULT now()
);
CREATE TABLE mod_add_community (
id serial PRIMARY KEY,
mod_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
other_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
community_id int REFERENCES community ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
removed boolean DEFAULT FALSE,
when_ timestamp NOT NULL DEFAULT now()
);
-- When removed is false that means kicked
CREATE TABLE mod_add (
id serial PRIMARY KEY,
mod_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
other_user_id int REFERENCES user_ ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
removed boolean DEFAULT FALSE,
when_ timestamp NOT NULL DEFAULT now()
);