♻️ Rename collections to libraries.

And make them team dependent.
This commit is contained in:
Andrey Antukh 2020-02-24 10:57:32 +01:00
parent 0ad2b13d76
commit 3ce9c8820f
19 changed files with 1068 additions and 766 deletions

View file

@ -69,6 +69,12 @@ CREATE TRIGGER team__modified_at__tgr
BEFORE UPDATE ON team
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
INSERT INTO team (id, name, photo, is_default)
VALUES ('00000000-0000-0000-0000-000000000000'::uuid,
'System Team',
'',
true);
CREATE TABLE team_profile_rel (

View file

@ -1,57 +0,0 @@
CREATE TABLE image_collection (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
profile_id uuid NOT NULL REFERENCES profile(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL
);
CREATE INDEX image_collection__profile_id__idx
ON image_collection(profile_id);
CREATE TRIGGER image_collection__modified_at__tgr
BEFORE UPDATE ON image_collection
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
CREATE TABLE image (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
profile_id uuid NOT NULL REFERENCES profile(id) ON DELETE CASCADE,
collection_id uuid NOT NULL REFERENCES image_collection(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL,
path text NOT NULL,
width int NOT NULL,
height int NOT NULL,
mtype text NOT NULL,
thumb_path text NOT NULL,
thumb_width int NOT NULL,
thumb_height int NOT NULL,
thumb_quality int NOT NULL,
thumb_mtype text NOT NULL
);
CREATE INDEX image__profile_id__idx
ON image(profile_id);
CREATE INDEX image__collection_id__idx
ON image(collection_id);
CREATE TRIGGER image__modified_at__tgr
BEFORE UPDATE ON image
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
CREATE TRIGGER image__on_delete__tgr
AFTER DELETE ON image
FOR EACH ROW EXECUTE PROCEDURE handle_delete();

View file

@ -0,0 +1,136 @@
CREATE TABLE image_library (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
team_id uuid NOT NULL REFERENCES team(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL
);
CREATE INDEX image_library__team_id__idx
ON image_library(team_id);
CREATE TRIGGER image_library__modified_at__tgr
BEFORE UPDATE ON image_library
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
CREATE TABLE image (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
library_id uuid NOT NULL REFERENCES image_library(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL,
path text NOT NULL,
width int NOT NULL,
height int NOT NULL,
mtype text NOT NULL,
thumb_path text NOT NULL,
thumb_width int NOT NULL,
thumb_height int NOT NULL,
thumb_quality int NOT NULL,
thumb_mtype text NOT NULL
);
CREATE INDEX image__library_id__idx
ON image(library_id);
CREATE TRIGGER image__modified_at__tgr
BEFORE UPDATE ON image
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
CREATE TRIGGER image__on_delete__tgr
AFTER DELETE ON image
FOR EACH ROW EXECUTE PROCEDURE handle_delete();
CREATE TABLE icon_library (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
team_id uuid NOT NULL REFERENCES team(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL
);
CREATE INDEX icon_colection__team_id__idx
ON icon_library (team_id);
CREATE TRIGGER icon_library__modified_at__tgr
BEFORE UPDATE ON icon_library
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
CREATE TABLE icon (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
library_id uuid REFERENCES icon_library(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL,
content text NOT NULL,
metadata bytea NOT NULL
);
CREATE INDEX icon__library_id__idx
ON icon(library_id);
CREATE TRIGGER icon__modified_at__tgr
BEFORE UPDATE ON icon
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
CREATE TABLE color_library (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
team_id uuid NOT NULL REFERENCES team(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL
);
CREATE INDEX color_colection__team_id__idx
ON color_library (team_id);
CREATE TRIGGER color_library__modified_at__tgr
BEFORE UPDATE ON color_library
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
CREATE TABLE color (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
library_id uuid REFERENCES color_library(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL,
content text NOT NULL
);
CREATE INDEX color__library_id__idx
ON color(library_id);
CREATE TRIGGER color__modified_at__tgr
BEFORE UPDATE ON color
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();

View file

@ -1,44 +0,0 @@
CREATE TABLE icon_collection (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
profile_id uuid NOT NULL REFERENCES profile(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL
);
CREATE INDEX icon_colection__profile_id__idx
ON icon_collection (profile_id);
CREATE TRIGGER icon_collection__modified_at__tgr
BEFORE UPDATE ON icon_collection
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
CREATE TABLE icon (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
profile_id uuid NOT NULL REFERENCES profile(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
collection_id uuid REFERENCES icon_collection(id)
ON DELETE CASCADE,
name text NOT NULL,
content text NOT NULL,
metadata bytea NOT NULL
);
CREATE INDEX icon__profile_id__idx
ON icon(profile_id);
CREATE INDEX icon__collection_id__idx
ON icon(collection_id);
CREATE TRIGGER icon__modified_at__tgr
BEFORE UPDATE ON icon
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();

View file

@ -1,43 +0,0 @@
CREATE TABLE color_collection (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
profile_id uuid NOT NULL REFERENCES profile(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
name text NOT NULL
);
CREATE INDEX color_colection__profile_id__idx
ON color_collection (profile_id);
CREATE TRIGGER color_collection__modified_at__tgr
BEFORE UPDATE ON color_collection
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
CREATE TABLE color (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
profile_id uuid NOT NULL REFERENCES profile(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
modified_at timestamptz NOT NULL DEFAULT clock_timestamp(),
deleted_at timestamptz DEFAULT NULL,
collection_id uuid REFERENCES color_collection(id)
ON DELETE CASCADE,
name text NOT NULL,
content text NOT NULL
);
CREATE INDEX color__profile_id__idx
ON color(profile_id);
CREATE INDEX color__collection_id__idx
ON color(collection_id);
CREATE TRIGGER color__modified_at__tgr
BEFORE UPDATE ON color
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();