mirror of
https://github.com/penpot/penpot.git
synced 2025-01-10 08:50:57 -05:00
136 lines
3.5 KiB
SQL
136 lines
3.5 KiB
SQL
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();
|