vnshed/hmm.txt

66 lines
2.7 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Эта таблица нужна, чтобы когда человек набирает в поле ввода тег или жанр или бадж,
-- ему подсказывало уже существующие теги/жанры/баджи
CREATE TABLE IF NOT EXISTS mark (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-- "genre" or "tag" or "badge"
tag TEXT NOT NULL,
-- value, "romance", "Хохлы", as an example
value TEXT NOT NULL
);
-- Таблица с авторами, для того же - чтобы подсказывало существующего автора.
CREATE TABLE IF NOT EXISTS authors (
-- ID автора, для кросс-референсов.
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-- Имя автора.
title TEXT NOT NULL,
-- Описание автора.
description TEXT NOT NULL,
-- Путь к файлу обложки автора.
thumbnail TEXT NOT NULL
);
-- Сами новеллы. Нужно, поскольку несколько постов могут отсылаться к одной игре.
CREATE TABLE IF NOT EXISTS novels (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-- Название. Используется исключительно для поиска.
title TEXT NOT NULL,
author INTEGER NOT NULL
);
-- Таблица с **постами**.
CREATE TABLE IF NOT EXISTS posts_log (
-- Кросс-референс на id в novels.
novel INTEGER NOT NULL,
-- ID канала, в который пост будет запощен.
channel INTEGER NOT NULL,
-- массив idшников на записи в marks.
marks JSON NOT NULL,
-- Название внки.
title TEXT NOT NULL,
-- Описание ВНки.
description TEXT NOT NULL,
-- id автора на момент планирования поста.
author INTEGER NOT NULL,
-- Мапа, ключ - путь к файлу в фс, значение -
-- `{"post": <POST_LINK>, "description": "описание файла"}`
-- <POST_LINK> - ссылка на пост в соответствующем канале с файлами, может
-- быть null. Не должно быть null, если post_info != NULL (то есть если уже запостили).
files_on_disk JSON NOT NULL,
-- не NULL, если пост успешно запостили.
-- {"link": <ссылка на пост>}
post_info JSON,
-- Когда ВН должна быть запощена, second-precise unix timestamp.
post_at INTEGER NOT NULL,
-- Когда запись в бд была создана, second-precise unix timestamp.
created_at INTEGER NOT NULL
);