66 lines
2.7 KiB
Text
66 lines
2.7 KiB
Text
-- Эта таблица нужна, чтобы когда человек набирает в поле ввода тег или жанр или бадж,
|
||
-- ему подсказывало уже существующие теги/жанры/баджи
|
||
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
|
||
);
|