penpot/backend/resources/migrations/0006.icons.sql
Andrey Antukh 7a5145fa37 ♻️ Big refactor of the default data model.
Introduce teams.
2020-02-17 09:49:04 +01:00

44 lines
1.2 KiB
SQL

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();