mirror of
https://github.com/Blah-IM/blahrs.git
synced 2025-05-01 00:31:09 +00:00
34 lines
1.2 KiB
SQL
34 lines
1.2 KiB
SQL
PRAGMA journal_mode=WAL;
|
|
PRAGMA foreign_keys=TRUE;
|
|
|
|
CREATE TABLE IF NOT EXISTS `user` (
|
|
`uid` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
`userkey` BLOB NOT NULL UNIQUE,
|
|
`permission` INTEGER NOT NULL DEFAULT 0
|
|
) STRICT;
|
|
|
|
CREATE TABLE IF NOT EXISTS `room` (
|
|
`rid` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
`ruuid` BLOB NOT NULL UNIQUE,
|
|
`title` TEXT NOT NULL,
|
|
`attrs` INTEGER NOT NULL
|
|
) STRICT;
|
|
|
|
CREATE TABLE IF NOT EXISTS `room_member` (
|
|
`rid` INTEGER NOT NULL REFERENCES `room` ON DELETE CASCADE,
|
|
`uid` INTEGER NOT NULL REFERENCES `user` ON DELETE RESTRICT,
|
|
`permission` INTEGER NOT NULL,
|
|
PRIMARY KEY (`rid`, `uid`)
|
|
) STRICT;
|
|
|
|
CREATE INDEX IF NOT EXISTS `member_room` ON `room_member` (`uid` ASC, `rid` ASC);
|
|
|
|
CREATE TABLE IF NOT EXISTS `room_item` (
|
|
`cid` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
`rid` INTEGER NOT NULL REFERENCES `room` ON DELETE CASCADE,
|
|
`uid` INTEGER NOT NULL REFERENCES `user` ON DELETE RESTRICT,
|
|
`timestamp` INTEGER NOT NULL,
|
|
`nonce` INTEGER NOT NULL,
|
|
`sig` BLOB NOT NULL,
|
|
`rich_text` TEXT NOT NULL
|
|
) STRICT;
|