memos/store/migration/mysql/0.27/04__memo_share.sql

15 lines
647 B
SQL

-- memo_share stores per-memo share grants (one row per share link).
-- uid is the opaque bearer token included in the share URL.
-- ON DELETE CASCADE ensures grants are cleaned up when the parent memo is deleted.
CREATE TABLE memo_share (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
uid VARCHAR(255) NOT NULL UNIQUE,
memo_id INT NOT NULL,
creator_id INT NOT NULL,
created_ts BIGINT NOT NULL DEFAULT (UNIX_TIMESTAMP()),
expires_ts BIGINT DEFAULT NULL,
FOREIGN KEY (memo_id) REFERENCES memo(id) ON DELETE CASCADE
);
CREATE INDEX idx_memo_share_memo_id ON memo_share(memo_id);