mirror of
https://github.com/penpot/penpot.git
synced 2025-07-15 00:27:20 +02:00
48 lines
1.5 KiB
SQL
48 lines
1.5 KiB
SQL
CREATE TABLE comment_thread (
|
|
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
file_id uuid NOT NULL REFERENCES file(id) ON DELETE CASCADE,
|
|
owner_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(),
|
|
|
|
page_id uuid NOT NULL,
|
|
|
|
participants jsonb NOT NULL,
|
|
seqn integer NOT NULL DEFAULT 0,
|
|
|
|
position point NOT NULL,
|
|
|
|
is_resolved boolean NOT NULL DEFAULT false
|
|
);
|
|
|
|
CREATE INDEX comment_thread__owner_id__idx ON comment_thread(owner_id);
|
|
CREATE UNIQUE INDEX comment_thread__file_id__seqn__idx ON comment_thread(file_id, seqn);
|
|
|
|
CREATE TABLE comment_thread_status (
|
|
thread_id uuid NOT NULL REFERENCES comment_thread(id) ON DELETE CASCADE,
|
|
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(),
|
|
|
|
PRIMARY KEY (thread_id, profile_id)
|
|
);
|
|
|
|
CREATE TABLE comment (
|
|
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
|
|
thread_id uuid NOT NULL REFERENCES comment_thread(id) ON DELETE CASCADE,
|
|
owner_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(),
|
|
|
|
content text NOT NULL
|
|
);
|
|
|
|
CREATE INDEX comment__thread_id__idx ON comment(thread_id);
|
|
CREATE INDEX comment__owner_id__idx ON comment(owner_id);
|
|
|
|
ALTER TABLE file ADD COLUMN comment_thread_seqn integer DEFAULT 0;
|
|
|