diff --git a/sql/migrations.sql b/sql/1/up.sql similarity index 92% rename from sql/migrations.sql rename to sql/1/up.sql index af07eddb192549101635bd983e8e6916b3ac9343..957ecc7cc414d6581a4230e4620c6da35f4d196f 100644 --- a/sql/migrations.sql +++ b/sql/1/up.sql @@ -1,4 +1,3 @@ --- 1 up create sequence "uid_seq" start 100000; create table "program" ( @@ -17,6 +16,7 @@ create table "program" ( create table "users" ( "id" integer not null default nextval('uid_seq'), "uuid" varchar(36) not null, + "is_active" bool not null default 'true', "username" text, "name" text, "main_group_name" text, diff --git a/sql/2/up.sql b/sql/2/up.sql new file mode 100644 index 0000000000000000000000000000000000000000..5f98dd1bb32553fed86c52b3308a38cde766c855 --- /dev/null +++ b/sql/2/up.sql @@ -0,0 +1,33 @@ +create table "posts" ( + "id" integer not null default nextval('uid_seq'), + "datetime" timestamp(0) not null default now(), + "is_archived" bool not null default 'false', + "user_id" integer not null, + "type" integer not null, -- 0 - "post" | "procedure-proposal" + "state" integer not null default 0, + "content" text, + "ranking_likes" integer not null default 0, + "ranking_dislikes" integer not null default 0, + primary key("id") +); + +create table "announcements" ( + "id" integer not null default nextval('uid_seq'), + "datetime" timestamp(0) not null default now(), + "is_archived" bool not null default 'false', + "user_id" integer, + "type" integer not null, + "content" text, + "link" text, + "related_post_id" integer, + primary key("id") +); + +create view "posts_view" as +select + "posts".*, + "users"."name" as "user_name", + "users"."main_group_name" as "group_name" +from posts +join "users" on ("posts"."user_id" = "users"."id") +;