add docker compose
This commit is contained in:
1 parent
88db93b07f
commit
f22f0f2ccc
14 files changed
+33251
No files matched your search
@@ -0,0 +1,154 @@
|
||||
-- Source unique de creation des tables de la base booksync.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "AUTHORS" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
first_name VARCHAR(255),
|
||||
tasks_count INTEGER NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "JOBS" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
title VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "KINDS" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "PUBLISHERS" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
title VARCHAR(500) NOT NULL,
|
||||
closed BOOLEAN NOT NULL,
|
||||
editions_count INTEGER NOT NULL,
|
||||
no_amazon BOOLEAN NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "SERIES_TYPES" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
title VARCHAR(255) NOT NULL,
|
||||
to_display BOOLEAN,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "BOX_EDITIONS" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
title VARCHAR(500) NOT NULL,
|
||||
publisher_id VARCHAR(36) NOT NULL,
|
||||
boxes_count INTEGER NOT NULL,
|
||||
adult_content BOOLEAN NOT NULL,
|
||||
box_follow_editions_count INTEGER NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
FOREIGN KEY(publisher_id) REFERENCES "PUBLISHERS" (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "SERIES" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
title VARCHAR(500) NOT NULL,
|
||||
type_id VARCHAR(36),
|
||||
adult_content BOOLEAN,
|
||||
editions_count INTEGER,
|
||||
tasks_count INTEGER,
|
||||
PRIMARY KEY (id),
|
||||
FOREIGN KEY(type_id) REFERENCES "SERIES_TYPES" (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "BOXES" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
title VARCHAR(500) NOT NULL,
|
||||
number INTEGER NOT NULL,
|
||||
release_date DATE,
|
||||
isbn VARCHAR(32),
|
||||
asin VARCHAR(32),
|
||||
commercial_stop BOOLEAN NOT NULL,
|
||||
box_edition_id VARCHAR(36) NOT NULL,
|
||||
box_possessions_count INTEGER NOT NULL,
|
||||
image_url TEXT,
|
||||
content TEXT,
|
||||
PRIMARY KEY (id),
|
||||
FOREIGN KEY(box_edition_id) REFERENCES "BOX_EDITIONS" (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "EDITIONS" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
title VARCHAR(500),
|
||||
series_id VARCHAR(36) NOT NULL,
|
||||
publisher_id VARCHAR(36) NOT NULL,
|
||||
parent_edition_id VARCHAR(36),
|
||||
volumes_count INTEGER NOT NULL,
|
||||
last_volume_number INTEGER,
|
||||
commercial_stop BOOLEAN NOT NULL,
|
||||
not_finished BOOLEAN NOT NULL,
|
||||
follow_editions_count INTEGER NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
FOREIGN KEY(series_id) REFERENCES "SERIES" (id),
|
||||
FOREIGN KEY(publisher_id) REFERENCES "PUBLISHERS" (id),
|
||||
FOREIGN KEY(parent_edition_id) REFERENCES "EDITIONS" (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "SERIES_KINDS" (
|
||||
series_id VARCHAR(36) NOT NULL,
|
||||
kind_id VARCHAR(36) NOT NULL,
|
||||
PRIMARY KEY (series_id, kind_id),
|
||||
FOREIGN KEY(series_id) REFERENCES "SERIES" (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY(kind_id) REFERENCES "KINDS" (id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "TASKS" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
series_id VARCHAR(36) NOT NULL,
|
||||
author_id VARCHAR(36),
|
||||
job_id VARCHAR(36),
|
||||
PRIMARY KEY (id),
|
||||
FOREIGN KEY(series_id) REFERENCES "SERIES" (id),
|
||||
FOREIGN KEY(author_id) REFERENCES "AUTHORS" (id),
|
||||
FOREIGN KEY(job_id) REFERENCES "JOBS" (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "VOLUMES" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
title VARCHAR(500),
|
||||
number INTEGER NOT NULL,
|
||||
release_date DATE,
|
||||
isbn VARCHAR(32),
|
||||
asin VARCHAR(32),
|
||||
edition_id VARCHAR(36) NOT NULL,
|
||||
possessions_count INTEGER NOT NULL,
|
||||
not_sold BOOLEAN NOT NULL,
|
||||
image_url TEXT,
|
||||
nb_pages INTEGER,
|
||||
content TEXT,
|
||||
PRIMARY KEY (id),
|
||||
FOREIGN KEY(edition_id) REFERENCES "EDITIONS" (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "BOX_VOLUMES" (
|
||||
id VARCHAR(36) NOT NULL,
|
||||
box_id VARCHAR(36) NOT NULL,
|
||||
volume_id VARCHAR(36) NOT NULL,
|
||||
included BOOLEAN NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
FOREIGN KEY(box_id) REFERENCES "BOXES" (id),
|
||||
FOREIGN KEY(volume_id) REFERENCES "VOLUMES" (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "VOLUME_POSSESSION_HISTORY" (
|
||||
id_volume VARCHAR(36) NOT NULL,
|
||||
observed_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
possessions_count INTEGER NOT NULL,
|
||||
PRIMARY KEY (id_volume, observed_at),
|
||||
FOREIGN KEY(id_volume) REFERENCES "VOLUMES" (id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "BOX_POSSESSION_HISTORY" (
|
||||
id_box VARCHAR(36) NOT NULL,
|
||||
observed_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
box_possessions_count INTEGER NOT NULL,
|
||||
PRIMARY KEY (id_box, observed_at),
|
||||
FOREIGN KEY(id_box) REFERENCES "BOXES" (id) ON DELETE CASCADE
|
||||
);
|
||||
Reference in new issue
Block a user