Add missing migrations

This commit is contained in:
grimsi
2025-09-29 15:58:24 +02:00
parent ec55db54af
commit 50868320ab
3 changed files with 253 additions and 201 deletions
@@ -4,346 +4,356 @@
/****************************************************************************************** /******************************************************************************************
* 1. Sequences (hi/lo allocation size = 50 for performance) * 1. Sequences (hi/lo allocation size = 50 for performance)
******************************************************************************************/ ******************************************************************************************/
create sequence COMPANY_SEQ CREATE SEQUENCE COMPANY_SEQ
increment by 50; INCREMENT BY 50;
create sequence DIRECTORY_MAPPING_SEQ CREATE SEQUENCE DIRECTORY_MAPPING_SEQ
increment by 50; INCREMENT BY 50;
create sequence GAME_FIELD_METADATA_SEQ CREATE SEQUENCE GAME_FIELD_METADATA_SEQ
increment by 50; INCREMENT BY 50;
create sequence GAME_FIELD_SOURCE_SEQ CREATE SEQUENCE GAME_FIELD_SOURCE_SEQ
increment by 50; INCREMENT BY 50;
create sequence GAME_SEQ CREATE SEQUENCE GAME_SEQ
increment by 50; INCREMENT BY 50;
create sequence IMAGE_SEQ CREATE SEQUENCE IMAGE_SEQ
increment by 50; INCREMENT BY 50;
create sequence LIBRARY_SEQ CREATE SEQUENCE LIBRARY_SEQ
increment by 50; INCREMENT BY 50;
create sequence USERS_SEQ CREATE SEQUENCE USERS_SEQ
increment by 50; INCREMENT BY 50;
/****************************************************************************************** /******************************************************************************************
* 2. Tables * 2. Tables
******************************************************************************************/ ******************************************************************************************/
create table APP_CONFIG CREATE TABLE APP_CONFIG
( (
"key" CHARACTER VARYING(255) not null "key" CHARACTER VARYING(255) NOT NULL
primary key, PRIMARY KEY,
"value" CHARACTER VARYING(255) "value" CHARACTER VARYING(255)
); );
create table COMPANY CREATE TABLE COMPANY
( (
ID BIGINT not null ID BIGINT NOT NULL
primary key, PRIMARY KEY,
NAME CHARACTER VARYING(255), NAME CHARACTER VARYING(255),
TYPE TINYINT, TYPE TINYINT,
constraint UK4UCNYHR8I0URHWDUDFAHKOB9E CONSTRAINT UK4UCNYHR8I0URHWDUDFAHKOB9E
unique (NAME, TYPE), UNIQUE (NAME, TYPE),
check ("TYPE" BETWEEN 0 AND 1) CHECK ("TYPE" BETWEEN 0 AND 1)
); );
create table DIRECTORY_MAPPING CREATE TABLE DIRECTORY_MAPPING
( (
ID BIGINT not null ID BIGINT NOT NULL
primary key, PRIMARY KEY,
EXTERNAL_PATH CHARACTER VARYING(255), EXTERNAL_PATH CHARACTER VARYING(255),
INTERNAL_PATH CHARACTER VARYING(255) INTERNAL_PATH CHARACTER VARYING(255)
constraint UKJ3GSATFAHEWFOLSEAJ29O3KYT CONSTRAINT UKJ3GSATFAHEWFOLSEAJ29O3KYT
unique UNIQUE
); );
create table IMAGE CREATE TABLE IMAGE
( (
ID BIGINT not null ID BIGINT NOT NULL
primary key, PRIMARY KEY,
CONTENT_ID CHARACTER VARYING(255), CONTENT_ID CHARACTER VARYING(255),
CONTENT_LENGTH BIGINT, CONTENT_LENGTH BIGINT,
MIME_TYPE CHARACTER VARYING(255), MIME_TYPE CHARACTER VARYING(255),
ORIGINAL_URL CHARACTER VARYING(255), ORIGINAL_URL CHARACTER VARYING(255),
TYPE TINYINT, TYPE TINYINT,
check ("TYPE" BETWEEN 0 AND 3) CHECK ("TYPE" BETWEEN 0 AND 3)
); );
create table LIBRARY CREATE TABLE LIBRARY
( (
ID BIGINT not null ID BIGINT NOT NULL
primary key, PRIMARY KEY,
CREATED_AT TIMESTAMP WITH TIME ZONE not null, CREATED_AT TIMESTAMP WITH TIME ZONE NOT NULL,
NAME CHARACTER VARYING(255), NAME CHARACTER VARYING(255),
UPDATED_AT TIMESTAMP WITH TIME ZONE not null UPDATED_AT TIMESTAMP WITH TIME ZONE NOT NULL
); );
create table GAME CREATE TABLE GAME
( (
ID BIGINT not null ID BIGINT NOT NULL
primary key, PRIMARY KEY,
COMMENT CHARACTER LARGE OBJECT, COMMENT CHARACTER LARGE OBJECT,
CREATED_AT TIMESTAMP WITH TIME ZONE not null, CREATED_AT TIMESTAMP WITH TIME ZONE NOT NULL,
CRITIC_RATING INTEGER, CRITIC_RATING INTEGER,
DOWNLOAD_COUNT INTEGER, DOWNLOAD_COUNT INTEGER,
FILE_SIZE BIGINT, FILE_SIZE BIGINT,
MATCH_CONFIRMED BOOLEAN, MATCH_CONFIRMED BOOLEAN,
PATH CHARACTER VARYING(255) PATH CHARACTER VARYING(255)
constraint UK4WXN9FPXFQ8QXPSB7FY0O3NOA CONSTRAINT UK4WXN9FPXFQ8QXPSB7FY0O3NOA
unique, UNIQUE,
RELEASE TIMESTAMP WITH TIME ZONE, RELEASE TIMESTAMP WITH TIME ZONE,
SUMMARY CHARACTER LARGE OBJECT, SUMMARY CHARACTER LARGE OBJECT,
TITLE CHARACTER VARYING(255), TITLE CHARACTER VARYING(255),
UPDATED_AT TIMESTAMP WITH TIME ZONE not null, UPDATED_AT TIMESTAMP WITH TIME ZONE NOT NULL,
USER_RATING INTEGER, USER_RATING INTEGER,
COVER_IMAGE_ID BIGINT COVER_IMAGE_ID BIGINT
constraint UK52RQ62FLPBNTI77BYKM7UAHKQ CONSTRAINT UK52RQ62FLPBNTI77BYKM7UAHKQ
unique, UNIQUE,
HEADER_IMAGE_ID BIGINT HEADER_IMAGE_ID BIGINT
constraint UK30B16LLQV54H40XIOGP7T9P35 CONSTRAINT UK30B16LLQV54H40XIOGP7T9P35
unique, UNIQUE,
LIBRARY_ID BIGINT, LIBRARY_ID BIGINT,
constraint FK6CVB43REAYSNYPI0XDY6HQTVF CONSTRAINT FK6CVB43REAYSNYPI0XDY6HQTVF
foreign key (COVER_IMAGE_ID) references IMAGE, FOREIGN KEY (COVER_IMAGE_ID) REFERENCES IMAGE,
constraint FK8N86NDPGKMOO7YOLX6HL8N84G CONSTRAINT FK8N86NDPGKMOO7YOLX6HL8N84G
foreign key (HEADER_IMAGE_ID) references IMAGE, FOREIGN KEY (HEADER_IMAGE_ID) REFERENCES IMAGE,
constraint FKIUVR8XFB63T1K6T43EYYXVO2C CONSTRAINT FKIUVR8XFB63T1K6T43EYYXVO2C
foreign key (LIBRARY_ID) references LIBRARY FOREIGN KEY (LIBRARY_ID) REFERENCES LIBRARY
); );
create table GAME_DEVELOPERS CREATE TABLE GAME_DEVELOPERS
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
DEVELOPERS_ID BIGINT not null, DEVELOPERS_ID BIGINT NOT NULL,
constraint FKB12PO9L2B9OJBAIHC82MM2QXB CONSTRAINT FKB12PO9L2B9OJBAIHC82MM2QXB
foreign key (DEVELOPERS_ID) references COMPANY, FOREIGN KEY (DEVELOPERS_ID) REFERENCES COMPANY,
constraint FKS4IJSVPIJ53DSL143XVRGBS09 CONSTRAINT FKS4IJSVPIJ53DSL143XVRGBS09
foreign key (GAME_ID) references GAME FOREIGN KEY (GAME_ID) REFERENCES GAME
); );
create table GAME_FEATURES CREATE TABLE GAME_FEATURES
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
FEATURES TINYINT, FEATURES TINYINT,
constraint FK63XLTCT60SCIMPM06K8BHBE4A CONSTRAINT FK63XLTCT60SCIMPM06K8BHBE4A
foreign key (GAME_ID) references GAME, FOREIGN KEY (GAME_ID) REFERENCES GAME,
check ("FEATURES" BETWEEN 0 AND 23) CHECK ("FEATURES" BETWEEN 0 AND 23)
); );
create table GAME_GENRES CREATE TABLE GAME_GENRES
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
GENRES TINYINT, GENRES TINYINT,
constraint FKDTSX09YOPD98E0LUEWRUSJD9E CONSTRAINT FKDTSX09YOPD98E0LUEWRUSJD9E
foreign key (GAME_ID) references GAME, FOREIGN KEY (GAME_ID) REFERENCES GAME,
check ("GENRES" BETWEEN 0 AND 25) CHECK ("GENRES" BETWEEN 0 AND 25)
); );
create table GAME_IMAGES CREATE TABLE GAME_IMAGES
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
IMAGES_ID BIGINT not null IMAGES_ID BIGINT NOT NULL
constraint UKBDE7M3TKHIEEYBINM2ED0B6X1 CONSTRAINT UKBDE7M3TKHIEEYBINM2ED0B6X1
unique, UNIQUE,
constraint FK5YWV1DMXCM2VSQUEB7RHQ3JK9 CONSTRAINT FK5YWV1DMXCM2VSQUEB7RHQ3JK9
foreign key (IMAGES_ID) references IMAGE, FOREIGN KEY (IMAGES_ID) REFERENCES IMAGE,
constraint FKOWCPUCV45OX8GT28TXGVHF1AA CONSTRAINT FKOWCPUCV45OX8GT28TXGVHF1AA
foreign key (GAME_ID) references GAME FOREIGN KEY (GAME_ID) REFERENCES GAME
); );
create table GAME_KEYWORDS CREATE TABLE GAME_KEYWORDS
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
KEYWORDS CHARACTER VARYING(255), KEYWORDS CHARACTER VARYING(255),
constraint FKMVF6HNJ7ROMQQM2EX70A9NVAC CONSTRAINT FKMVF6HNJ7ROMQQM2EX70A9NVAC
foreign key (GAME_ID) references GAME FOREIGN KEY (GAME_ID) REFERENCES GAME
); );
create table GAME_PERSPECTIVES CREATE TABLE GAME_PERSPECTIVES
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
PERSPECTIVES TINYINT, PERSPECTIVES TINYINT,
constraint FKHUEENG29Y1GHBRDI5QHGUXH6E CONSTRAINT FKHUEENG29Y1GHBRDI5QHGUXH6E
foreign key (GAME_ID) references GAME, FOREIGN KEY (GAME_ID) REFERENCES GAME,
check ("PERSPECTIVES" BETWEEN 0 AND 7) CHECK ("PERSPECTIVES" BETWEEN 0 AND 7)
); );
create table GAME_PUBLISHERS CREATE TABLE GAME_PUBLISHERS
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
PUBLISHERS_ID BIGINT not null, PUBLISHERS_ID BIGINT NOT NULL,
constraint FK49R2KB61LIJ54BQB4VNTST97N CONSTRAINT FK49R2KB61LIJ54BQB4VNTST97N
foreign key (GAME_ID) references GAME, FOREIGN KEY (GAME_ID) REFERENCES GAME,
constraint FKNGLD5ESGRBRH95J5BJF0HEF85 CONSTRAINT FKNGLD5ESGRBRH95J5BJF0HEF85
foreign key (PUBLISHERS_ID) references COMPANY FOREIGN KEY (PUBLISHERS_ID) REFERENCES COMPANY
); );
create table GAME_THEMES CREATE TABLE GAME_THEMES
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
THEMES TINYINT, THEMES TINYINT,
constraint FKRV351JXLIOY0A17Y5BBJJ6FW4 CONSTRAINT FKRV351JXLIOY0A17Y5BBJJ6FW4
foreign key (GAME_ID) references GAME, FOREIGN KEY (GAME_ID) REFERENCES GAME,
check ("THEMES" BETWEEN 0 AND 22) CHECK ("THEMES" BETWEEN 0 AND 22)
); );
create table GAME_VIDEO_URLS CREATE TABLE GAME_VIDEO_URLS
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
VIDEO_URLS BINARY VARYING(255), VIDEO_URLS BINARY VARYING(255),
constraint FKJKKWO8WDS086AS7B2KSLSVKM6 CONSTRAINT FKJKKWO8WDS086AS7B2KSLSVKM6
foreign key (GAME_ID) references GAME FOREIGN KEY (GAME_ID) REFERENCES GAME
); );
create table LIBRARY_DIRECTORIES CREATE TABLE LIBRARY_DIRECTORIES
( (
LIBRARY_ID BIGINT not null, LIBRARY_ID BIGINT NOT NULL,
DIRECTORIES_ID BIGINT not null DIRECTORIES_ID BIGINT NOT NULL
constraint UKB5UM4CADBNC6UC8DVOMO81N5F CONSTRAINT UKB5UM4CADBNC6UC8DVOMO81N5F
unique, UNIQUE,
constraint FKFNCKIU58I9L89MLXV388DY13B CONSTRAINT FKFNCKIU58I9L89MLXV388DY13B
foreign key (LIBRARY_ID) references LIBRARY, FOREIGN KEY (LIBRARY_ID) REFERENCES LIBRARY,
constraint FKJDXS58Q1IRTU0IDP6DXJHWAPM CONSTRAINT FKJDXS58Q1IRTU0IDP6DXJHWAPM
foreign key (DIRECTORIES_ID) references DIRECTORY_MAPPING FOREIGN KEY (DIRECTORIES_ID) REFERENCES DIRECTORY_MAPPING
); );
create table LIBRARY_GAMES CREATE TABLE LIBRARY_GAMES
( (
LIBRARY_ID BIGINT not null, LIBRARY_ID BIGINT NOT NULL,
GAMES_ID BIGINT not null GAMES_ID BIGINT NOT NULL
constraint UK3E4VB9NQXPY27VMTA27GU5FY8 CONSTRAINT UK3E4VB9NQXPY27VMTA27GU5FY8
unique, UNIQUE,
constraint FK6C71EEDM0I2N1JXDE9BOBWG5M CONSTRAINT FK6C71EEDM0I2N1JXDE9BOBWG5M
foreign key (LIBRARY_ID) references LIBRARY, FOREIGN KEY (LIBRARY_ID) REFERENCES LIBRARY,
constraint FKDKKKES3DAY0WJ1QMV42KMMFDK CONSTRAINT FKDKKKES3DAY0WJ1QMV42KMMFDK
foreign key (GAMES_ID) references GAME FOREIGN KEY (GAMES_ID) REFERENCES GAME
); );
create table LIBRARY_UNMATCHED_PATHS CREATE TABLE LIBRARY_UNMATCHED_PATHS
( (
LIBRARY_ID BIGINT not null, LIBRARY_ID BIGINT NOT NULL,
UNMATCHED_PATHS CHARACTER VARYING(255), UNMATCHED_PATHS CHARACTER VARYING(255),
constraint FKSJ51WC2LBNNXY0LKLWELI6VSB CONSTRAINT FKSJ51WC2LBNNXY0LKLWELI6VSB
foreign key (LIBRARY_ID) references LIBRARY FOREIGN KEY (LIBRARY_ID) REFERENCES LIBRARY
); );
create table PLUGIN_CONFIG CREATE TABLE PLUGIN_CONFIG
( (
"key" CHARACTER VARYING(255) not null, "key" CHARACTER VARYING(255) NOT NULL,
PLUGIN_ID CHARACTER VARYING(255) not null, PLUGIN_ID CHARACTER VARYING(255) NOT NULL,
"value" CHARACTER VARYING(255), "value" CHARACTER VARYING(255),
primary key ("key", PLUGIN_ID) PRIMARY KEY ("key", PLUGIN_ID)
); );
create table PLUGIN_MANAGEMENT_ENTRY CREATE TABLE PLUGIN_MANAGEMENT_ENTRY
( (
PLUGIN_ID CHARACTER VARYING(255) not null PLUGIN_ID CHARACTER VARYING(255) NOT NULL
primary key, PRIMARY KEY,
ENABLED BOOLEAN not null, ENABLED BOOLEAN NOT NULL,
PRIORITY INTEGER not null, PRIORITY INTEGER NOT NULL,
TRUST_LEVEL TINYINT, TRUST_LEVEL TINYINT,
check ("TRUST_LEVEL" BETWEEN 0 AND 4) CHECK ("TRUST_LEVEL" BETWEEN 0 AND 4)
); );
create table GAME_ORIGINAL_IDS CREATE TABLE GAME_ORIGINAL_IDS
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
ORIGINAL_IDS CHARACTER VARYING(255), ORIGINAL_IDS CHARACTER VARYING(255),
ORIGINAL_IDS_KEY CHARACTER VARYING(255) not null, ORIGINAL_IDS_KEY CHARACTER VARYING(255) NOT NULL,
primary key (GAME_ID, ORIGINAL_IDS_KEY), PRIMARY KEY (GAME_ID, ORIGINAL_IDS_KEY),
constraint FK1CSD5QD7VJT7BTTA3G7HGYBUX CONSTRAINT FK1CSD5QD7VJT7BTTA3G7HGYBUX
foreign key (GAME_ID) references GAME, FOREIGN KEY (GAME_ID) REFERENCES GAME,
constraint FKMT0XWLPWPU9NP0Q289JBAHJRY CONSTRAINT FKMT0XWLPWPU9NP0Q289JBAHJRY
foreign key (ORIGINAL_IDS_KEY) references PLUGIN_MANAGEMENT_ENTRY FOREIGN KEY (ORIGINAL_IDS_KEY) REFERENCES PLUGIN_MANAGEMENT_ENTRY
); );
create table USERS CREATE TABLE USERS
( (
ID BIGINT not null ID BIGINT NOT NULL
primary key, PRIMARY KEY,
EMAIL CHARACTER VARYING(255) EMAIL CHARACTER VARYING(255)
constraint UK6DOTKOTT2KJSP8VW4D0M25FB7 CONSTRAINT UK6DOTKOTT2KJSP8VW4D0M25FB7
unique, UNIQUE,
EMAIL_CONFIRMED BOOLEAN not null, EMAIL_CONFIRMED BOOLEAN NOT NULL,
ENABLED BOOLEAN not null, ENABLED BOOLEAN NOT NULL,
OIDC_PROVIDER_ID CHARACTER VARYING(255), OIDC_PROVIDER_ID CHARACTER VARYING(255),
PASSWORD CHARACTER VARYING(255), PASSWORD CHARACTER VARYING(255),
USERNAME CHARACTER VARYING(255) USERNAME CHARACTER VARYING(255)
constraint UKR43AF9AP4EDM43MMTQ01ODDJ6 CONSTRAINT UKR43AF9AP4EDM43MMTQ01ODDJ6
unique, UNIQUE,
AVATAR_ID BIGINT AVATAR_ID BIGINT
constraint UKRSULCN2GYNJY3CDDPWMOSV881 CONSTRAINT UKRSULCN2GYNJY3CDDPWMOSV881
unique, UNIQUE,
constraint FK19LFLPG5SEIS4DWRM2LVJLXFV CONSTRAINT FK19LFLPG5SEIS4DWRM2LVJLXFV
foreign key (AVATAR_ID) references IMAGE FOREIGN KEY (AVATAR_ID) REFERENCES IMAGE
); );
create table GAME_FIELD_SOURCE CREATE TABLE GAME_FIELD_SOURCE
( (
DTYPE CHARACTER VARYING(31) not null, DTYPE CHARACTER VARYING(31) NOT NULL,
ID BIGINT not null ID BIGINT NOT NULL
primary key, PRIMARY KEY,
PLUGIN_PLUGIN_ID CHARACTER VARYING(255), PLUGIN_PLUGIN_ID CHARACTER VARYING(255),
USER_ID BIGINT, USER_ID BIGINT,
constraint FKNJC4QSS5APFHTPWP42OAEAL5G CONSTRAINT FKNJC4QSS5APFHTPWP42OAEAL5G
foreign key (PLUGIN_PLUGIN_ID) references PLUGIN_MANAGEMENT_ENTRY, FOREIGN KEY (PLUGIN_PLUGIN_ID) REFERENCES PLUGIN_MANAGEMENT_ENTRY,
constraint FKSR1BGTX5XJVMAL7FEFGL982TP CONSTRAINT FKSR1BGTX5XJVMAL7FEFGL982TP
foreign key (USER_ID) references USERS FOREIGN KEY (USER_ID) REFERENCES USERS
); );
create table GAME_FIELD_METADATA CREATE TABLE GAME_FIELD_METADATA
( (
ID BIGINT not null ID BIGINT NOT NULL
primary key, PRIMARY KEY,
UPDATED_AT TIMESTAMP WITH TIME ZONE, UPDATED_AT TIMESTAMP WITH TIME ZONE,
SOURCE_ID BIGINT SOURCE_ID BIGINT
constraint UKHW6U2Y9FLWPTI57QB7K0P27BL CONSTRAINT UKHW6U2Y9FLWPTI57QB7K0P27BL
unique, UNIQUE,
constraint FKQ4RC409TP8FUBTTM733PMJD8F CONSTRAINT FKQ4RC409TP8FUBTTM733PMJD8F
foreign key (SOURCE_ID) references GAME_FIELD_SOURCE FOREIGN KEY (SOURCE_ID) REFERENCES GAME_FIELD_SOURCE
); );
create table GAME_FIELDS CREATE TABLE GAME_FIELDS
( (
GAME_ID BIGINT not null, GAME_ID BIGINT NOT NULL,
FIELDS_ID BIGINT not null FIELDS_ID BIGINT NOT NULL
constraint UK1L5OAH0UOOUV4V5A9P0PAK77X CONSTRAINT UK1L5OAH0UOOUV4V5A9P0PAK77X
unique, UNIQUE,
FIELDS_KEY CHARACTER VARYING(255) not null, FIELDS_KEY CHARACTER VARYING(255) NOT NULL,
primary key (GAME_ID, FIELDS_KEY), PRIMARY KEY (GAME_ID, FIELDS_KEY),
constraint FKLNEPI7YWCI86YH21KO9WD9PYF CONSTRAINT FKLNEPI7YWCI86YH21KO9WD9PYF
foreign key (GAME_ID) references GAME, FOREIGN KEY (GAME_ID) REFERENCES GAME,
constraint FKT8FLOFDAPX5M746S5LW54C5B3 CONSTRAINT FKT8FLOFDAPX5M746S5LW54C5B3
foreign key (FIELDS_ID) references GAME_FIELD_METADATA FOREIGN KEY (FIELDS_ID) REFERENCES GAME_FIELD_METADATA
); );
create table TOKEN CREATE TABLE TOKEN
( (
SECRET CHARACTER VARYING(255) not null SECRET CHARACTER VARYING(255) NOT NULL
primary key, PRIMARY KEY,
CREATED_ON TIMESTAMP WITH TIME ZONE, CREATED_ON TIMESTAMP WITH TIME ZONE,
PAYLOAD CHARACTER VARYING(255), PAYLOAD CHARACTER VARYING(255),
TYPE CHARACTER VARYING(255), TYPE CHARACTER VARYING(255),
CREATOR_ID BIGINT, CREATOR_ID BIGINT,
constraint FKGHOIALAPTI5JFEJ506JBB1O8Y CONSTRAINT FKGHOIALAPTI5JFEJ506JBB1O8Y
foreign key (CREATOR_ID) references USERS FOREIGN KEY (CREATOR_ID) REFERENCES USERS
on delete cascade ON DELETE CASCADE
); );
create table USER_PREFERENCE CREATE TABLE USER_PREFERENCE
( (
"key" CHARACTER VARYING(255) not null, "key" CHARACTER VARYING(255) NOT NULL,
USER_ID BIGINT not null, USER_ID BIGINT NOT NULL,
"value" CHARACTER VARYING(255), "value" CHARACTER VARYING(255),
primary key ("key", USER_ID) PRIMARY KEY ("key", USER_ID)
); );
create table USER_ROLES CREATE TABLE USER_ROLES
( (
USER_ID BIGINT not null, USER_ID BIGINT NOT NULL,
ROLES ENUM ('ADMIN', 'SUPERADMIN', 'USER'), ROLES ENUM ('ADMIN', 'SUPERADMIN', 'USER'),
constraint FKHFH9DX7W3UBF1CO1VDEV94G3F CONSTRAINT FKHFH9DX7W3UBF1CO1VDEV94G3F
foreign key (USER_ID) references USERS FOREIGN KEY (USER_ID) REFERENCES USERS
); );
CREATE TABLE JOB_RUN_RESULT
(
ID BIGINT GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY,
JOB_NAME VARCHAR(255),
STARTED_AT TIMESTAMP,
FINISHED_AT TIMESTAMP,
STATUS VARCHAR(255),
MESSAGE VARCHAR(255)
);
@@ -1,4 +1,4 @@
-- Flyway Migration: V2.1.0 -- Flyway Migration: V2.1.0 (Part 1)
-- Purpose: -- Purpose:
-- 1. Drop unique constraints on GAME.COVER_IMAGE_ID and GAME.HEADER_IMAGE_ID -- 1. Drop unique constraints on GAME.COVER_IMAGE_ID and GAME.HEADER_IMAGE_ID
-- 2. Rename all remaining UK*/FK* constraints to human-readable names -- 2. Rename all remaining UK*/FK* constraints to human-readable names
@@ -0,0 +1,42 @@
-- Flyway Migration: V2.1.0 (Part 2)
-- Purpose:
-- 1. Create tables for the game requests feature
/******************************************************************************************
* 1. Create new sequence
******************************************************************************************/
CREATE SEQUENCE GAME_REQUEST_SEQ
INCREMENT BY 50;
/******************************************************************************************
* 2. Create new tables
******************************************************************************************/
CREATE TABLE GAME_REQUEST
(
ID BIGINT NOT NULL PRIMARY KEY,
TITLE VARCHAR(255) NOT NULL,
RELEASE TIMESTAMP NOT NULL,
STATUS VARCHAR(255) NOT NULL,
REQUESTER_ID BIGINT,
LINKED_GAME_ID BIGINT,
CREATED_AT TIMESTAMP NOT NULL,
UPDATED_AT TIMESTAMP NOT NULL
);
CREATE TABLE GAME_REQUEST_VOTERS
(
GAME_REQUEST_ID BIGINT NOT NULL,
VOTERS_ID BIGINT NOT NULL,
PRIMARY KEY (GAME_REQUEST_ID, VOTERS_ID)
);
ALTER TABLE GAME_REQUEST
ADD CONSTRAINT FK_GAMEREQUEST_ON_REQUESTER FOREIGN KEY (REQUESTER_ID) REFERENCES USERS (ID) ON DELETE SET NULL;
ALTER TABLE GAME_REQUEST_VOTERS
ADD CONSTRAINT FK_GAMREQVOT_ON_GAME_REQUEST FOREIGN KEY (GAME_REQUEST_ID) REFERENCES GAME_REQUEST (ID) ON DELETE CASCADE;
ALTER TABLE GAME_REQUEST_VOTERS
ADD CONSTRAINT FK_GAMREQVOT_ON_USER FOREIGN KEY (VOTERS_ID) REFERENCES USERS (ID);
-- End of migration