35 lines
1 KiB
SQL
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)
|
|
);
|