mirror of
https://github.com/penpot/penpot.git
synced 2025-01-10 00:40:30 -05:00
56 lines
1.6 KiB
SQL
56 lines
1.6 KiB
SQL
-- Tables
|
|
|
|
CREATE TABLE IF NOT EXISTS icons_collections (
|
|
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
"user" uuid NOT NULL REFERENCES users(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,
|
|
version bigint NOT NULL DEFAULT 0,
|
|
|
|
name text NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS icons (
|
|
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
"user" uuid NOT NULL REFERENCES users(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,
|
|
version bigint NOT NULL DEFAULT 0,
|
|
|
|
name text NOT NULL,
|
|
content text NOT NULL,
|
|
metadata bytea NOT NULL,
|
|
collection uuid REFERENCES icons_collections(id)
|
|
ON DELETE SET NULL
|
|
DEFAULT NULL
|
|
);
|
|
|
|
-- Indexes
|
|
|
|
CREATE INDEX icon_colections_user_idx
|
|
ON icons_collections ("user");
|
|
|
|
CREATE INDEX icons_user_idx
|
|
ON icons ("user");
|
|
|
|
CREATE INDEX icons_collection_idx
|
|
ON icons (collection);
|
|
|
|
-- Triggers
|
|
|
|
CREATE TRIGGER icons_collections_occ_tgr BEFORE UPDATE ON icons_collections
|
|
FOR EACH ROW EXECUTE PROCEDURE handle_occ();
|
|
|
|
CREATE TRIGGER icons_collections_modified_at_tgr BEFORE UPDATE ON icons_collections
|
|
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
|
|
|
|
CREATE TRIGGER icons_occ_tgr BEFORE UPDATE ON icons
|
|
FOR EACH ROW EXECUTE PROCEDURE handle_occ();
|
|
|
|
CREATE TRIGGER icons_modified_at_tgr BEFORE UPDATE ON icons
|
|
FOR EACH ROW EXECUTE PROCEDURE update_modified_at();
|
|
|