You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
2.7 KiB

package storage
var sqlTables = map[string]string{
"user": `CREATE TABLE IF NOT EXISTS user (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username VARCHAR(255) NOT NULL UNIQUE,
nickname VARCHAR(255) DEFAULT '',
avatar VARCHAR(255) DEFAULT '',
email VARCHAR(255) UNIQUE DEFAULT '',
role VARCHAR(20) NOT NULL,
last_seen_at DATETIME DEFAULT CURRENT_DATETIME,
is_diabled BOOL NOT NULL DEFAULT 'false',
created DATETIME NOT NULL,
updated DATETIME NOT NULL
);
CREATE INDEX IF NOT EXISTS user_username
ON user (username);
CREATE INDEX IF NOT EXISTS user_role
ON user (role);
CREATE INDEX IF NOT EXISTS user_email
ON user (email);`,
"sessions": `CREATE TABLE IF NOT EXISTS sessions (
sid VARCHAR(255) primary key,
user_id INTEGER
);
`,
4 years ago
"posts": `CREATE TABLE IF NOT EXISTS posts (
4 years ago
id VARCHAR(255) PRIMARY KEY,
creator INTEGER NOT NULL,
4 years ago
slug VARCHAR(64) NOT NULL,
title VARCHAR(255) NOT NULL,
4 years ago
md TEXT,
url VARCHAR(255),
cover VARCHAR(255),
brief TEXT,
4 years ago
likes INTEGER DEFAULT 0,
views INTEGER DEFAULT 0,
status tinyint NOT NULL,
created DATETIME NOT NULL,
updated DATETIME
);
4 years ago
CREATE INDEX IF NOT EXISTS posts_creator
ON posts (creator);
CREATE INDEX IF NOT EXISTS posts_created
ON posts (created);
4 years ago
CREATE UNIQUE INDEX IF NOT EXISTS posts_creator_slug
ON posts (creator, slug);
4 years ago
`,
4 years ago
"like": `CREATE TABLE IF NOT EXISTS like (
id VARCHAR(255),
user_id INTEGER,
created DATETIME NOT NULL
4 years ago
);
4 years ago
CREATE INDEX IF NOT EXISTS like_id
ON like (id);
CREATE INDEX IF NOT EXISTS like_userid
ON like (user_id);
4 years ago
`,
4 years ago
"tags": `CREATE TABLE IF NOT EXISTS tags (
id INTEGER PRIMARY KEY AUTOINCREMENT,
creator INTEGER NOT NULL,
title VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
icon VARCHAR(255),
cover VARCHAR(255),
md TEXT,
4 years ago
follower_count INTEGER DEFAULT 0,
4 years ago
created DATETIME NOT NULL,
updated DATETIME
);
CREATE UNIQUE INDEX IF NOT EXISTS tags_name
ON tags (name);
CREATE INDEX IF NOT EXISTS tags_created
ON tags (created);
`,
4 years ago
"tag_post": `CREATE TABLE IF NOT EXISTS tag_post (
tag_id INTEGER,
4 years ago
post_id VARCHAR(255)
4 years ago
);
CREATE INDEX IF NOT EXISTS tag_post_tagid
ON tag_post (tag_id);
CREATE INDEX IF NOT EXISTS tag_post_postid
ON tag_post (post_id);
`,
4 years ago
"comments": `CREATE TABLE IF NOT EXISTS comments (
id VARCHAR(255) PRIMARY KEY,
target_id VARCHAR(255),
creator INTEGER,
MD TEXT,
likes INTEGER DEFAULT 0,
created DATETIME NOT NULL,
updated DATETIME
);
CREATE INDEX IF NOT EXISTS comments_targetid
ON comments (target_id);
CREATE INDEX IF NOT EXISTS comments_creator
ON comments (creator);
`,
}