This repository has been archived on 2023-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
Foodloop-Server/share/ddl/PostgreSQL/upgrade/22-23/001-auto.sql

167 lines
5.5 KiB
MySQL
Raw Normal View History

2018-02-21 12:51:43 +00:00
-- Convert schema 'share/ddl/_source/deploy/22/001-auto.yml' to 'share/ddl/_source/deploy/23/001-auto.yml':;
;
BEGIN;
;
CREATE TABLE "global_medal_group" (
"id" serial NOT NULL,
"group_name" character varying(255) NOT NULL,
PRIMARY KEY ("id"),
CONSTRAINT "global_medal_group_group_name" UNIQUE ("group_name")
);
;
CREATE TABLE "global_medals" (
"id" serial NOT NULL,
2018-03-09 17:44:47 +00:00
"group_id" integer NOT NULL,
2018-02-21 12:51:43 +00:00
"threshold" integer NOT NULL,
"points" integer NOT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "global_medals_idx_group_id" on "global_medals" ("group_id");
;
CREATE TABLE "global_user_medal_progress" (
"id" serial NOT NULL,
2018-03-09 17:44:47 +00:00
"entity_id" integer NOT NULL,
"group_id" integer NOT NULL,
2018-02-21 12:51:43 +00:00
"total" integer NOT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "global_user_medal_progress_idx_entity_id" on "global_user_medal_progress" ("entity_id");
CREATE INDEX "global_user_medal_progress_idx_group_id" on "global_user_medal_progress" ("group_id");
;
CREATE TABLE "global_user_medals" (
"id" serial NOT NULL,
2018-03-09 17:44:47 +00:00
"entity_id" integer NOT NULL,
"group_id" integer NOT NULL,
2018-02-21 12:51:43 +00:00
"points" integer NOT NULL,
"awarded_at" timestamp NOT NULL,
"threshold" integer NOT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "global_user_medals_idx_entity_id" on "global_user_medals" ("entity_id");
CREATE INDEX "global_user_medals_idx_group_id" on "global_user_medals" ("group_id");
;
CREATE TABLE "org_medal_group" (
"id" serial NOT NULL,
"group_name" character varying(255) NOT NULL,
PRIMARY KEY ("id"),
CONSTRAINT "org_medal_group_group_name" UNIQUE ("group_name")
);
;
CREATE TABLE "org_medals" (
"id" serial NOT NULL,
2018-03-09 17:44:47 +00:00
"group_id" integer NOT NULL,
2018-02-21 12:51:43 +00:00
"threshold" integer NOT NULL,
"points" integer NOT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "org_medals_idx_group_id" on "org_medals" ("group_id");
;
CREATE TABLE "org_user_medal_progress" (
"id" serial NOT NULL,
2018-03-09 17:44:47 +00:00
"entity_id" integer NOT NULL,
"group_id" integer NOT NULL,
2018-02-21 12:51:43 +00:00
"total" integer NOT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "org_user_medal_progress_idx_entity_id" on "org_user_medal_progress" ("entity_id");
CREATE INDEX "org_user_medal_progress_idx_group_id" on "org_user_medal_progress" ("group_id");
;
CREATE TABLE "org_user_medals" (
"id" serial NOT NULL,
2018-03-09 17:44:47 +00:00
"entity_id" integer NOT NULL,
"group_id" integer NOT NULL,
2018-02-21 12:51:43 +00:00
"points" integer NOT NULL,
"awarded_at" timestamp NOT NULL,
"threshold" integer NOT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "org_user_medals_idx_entity_id" on "org_user_medals" ("entity_id");
CREATE INDEX "org_user_medals_idx_group_id" on "org_user_medals" ("group_id");
2018-03-09 17:44:47 +00:00
;
CREATE TABLE "transaction_recurring" (
"id" serial NOT NULL,
"buyer_id" integer NOT NULL,
"seller_id" integer NOT NULL,
"value" numeric(100,0) NOT NULL,
"start_time" timestamp NOT NULL,
"last_updated" timestamp,
"essential" boolean DEFAULT false NOT NULL,
"distance" numeric(15),
"category_id" integer,
"recurring_period" character varying(255) NOT NULL,
PRIMARY KEY ("id")
);
CREATE INDEX "transaction_recurring_idx_buyer_id" on "transaction_recurring" ("buyer_id");
CREATE INDEX "transaction_recurring_idx_category_id" on "transaction_recurring" ("category_id");
CREATE INDEX "transaction_recurring_idx_seller_id" on "transaction_recurring" ("seller_id");
2018-02-21 12:51:43 +00:00
;
ALTER TABLE "global_medals" ADD CONSTRAINT "global_medals_fk_group_id" FOREIGN KEY ("group_id")
REFERENCES "global_medal_group" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
;
ALTER TABLE "global_user_medal_progress" ADD CONSTRAINT "global_user_medal_progress_fk_entity_id" FOREIGN KEY ("entity_id")
REFERENCES "entities" ("id") DEFERRABLE;
;
ALTER TABLE "global_user_medal_progress" ADD CONSTRAINT "global_user_medal_progress_fk_group_id" FOREIGN KEY ("group_id")
REFERENCES "global_medal_group" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
;
ALTER TABLE "global_user_medals" ADD CONSTRAINT "global_user_medals_fk_entity_id" FOREIGN KEY ("entity_id")
REFERENCES "entities" ("id") DEFERRABLE;
;
ALTER TABLE "global_user_medals" ADD CONSTRAINT "global_user_medals_fk_group_id" FOREIGN KEY ("group_id")
REFERENCES "global_medal_group" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
;
ALTER TABLE "org_medals" ADD CONSTRAINT "org_medals_fk_group_id" FOREIGN KEY ("group_id")
REFERENCES "org_medal_group" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
;
ALTER TABLE "org_user_medal_progress" ADD CONSTRAINT "org_user_medal_progress_fk_entity_id" FOREIGN KEY ("entity_id")
REFERENCES "entities" ("id") DEFERRABLE;
;
ALTER TABLE "org_user_medal_progress" ADD CONSTRAINT "org_user_medal_progress_fk_group_id" FOREIGN KEY ("group_id")
REFERENCES "org_medal_group" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
;
ALTER TABLE "org_user_medals" ADD CONSTRAINT "org_user_medals_fk_entity_id" FOREIGN KEY ("entity_id")
REFERENCES "entities" ("id") DEFERRABLE;
;
ALTER TABLE "org_user_medals" ADD CONSTRAINT "org_user_medals_fk_group_id" FOREIGN KEY ("group_id")
REFERENCES "org_medal_group" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
2018-03-09 17:44:47 +00:00
;
ALTER TABLE "transaction_recurring" ADD CONSTRAINT "transaction_recurring_fk_buyer_id" FOREIGN KEY ("buyer_id")
REFERENCES "entities" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
;
ALTER TABLE "transaction_recurring" ADD CONSTRAINT "transaction_recurring_fk_category_id" FOREIGN KEY ("category_id")
REFERENCES "category" ("id") DEFERRABLE;
;
ALTER TABLE "transaction_recurring" ADD CONSTRAINT "transaction_recurring_fk_seller_id" FOREIGN KEY ("seller_id")
REFERENCES "entities" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
;
ALTER TABLE transactions ADD COLUMN essential boolean DEFAULT false NOT NULL;
2018-02-21 12:51:43 +00:00
;
COMMIT;