comment-server/comments_ddl.sql
2019-05-15 23:32:55 -04:00

35 lines
1 KiB
SQL

-- ATTACH DATABASE 'comments.db' AS Comments;
PRAGMA FOREIGN_KEYS = ON;
DROP TABLE IF EXISTS CHANNEL;
CREATE TABLE IF NOT EXISTS CHANNEL(
ClaimId TEXT NOT NULL,
Name TEXT NOT NULL,
Timestamp INTEGER DEFAULT NULL,
CONSTRAINT CHANNEL_PK PRIMARY KEY (ClaimId)
ON CONFLICT IGNORE,
CONSTRAINT CHANNEL_NAME_LEN
CHECK ( 0 < length(Name) AND length(Name) <= 120)
);
DROP TABLE IF EXISTS COMMENT;
CREATE TABLE IF NOT EXISTS COMMENT (
CommentId INTEGER NOT NULL,
LbryClaimId TEXT NOT NULL,
ChannelId TEXT NOT NULL,
Body TEXT NOT NULL,
ParentId INTEGER DEFAULT NULL,
Timestamp DATETIME,
CONSTRAINT COMMENT_ID_PK PRIMARY KEY (CommentId)
ON CONFLICT ABORT,
CONSTRAINT COMMENT_PARENT_FK FOREIGN KEY (ParentId) REFERENCES COMMENT(CommentId)
ON UPDATE CASCADE ON DELETE NO ACTION, -- setting null implies comment is top level
CONSTRAINT COMMENT_BODY_LEN CHECK(1 < length(Body) AND length(Body) <= 2000)
);