53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
# SQL-schema
|
||
|
||
База данных SQLite, движок *aiosqlite*
|
||
___
|
||
|
||
### Структура базы данных:
|
||
#####
|
||
#### Users
|
||
|
||
id - int, первичный ключ \
|
||
name - char, логин пользователя (уникально)\
|
||
password - varchar, пароль пользователя \
|
||
email - char, электронная почта для отправки уведомлений (не обязательно) \
|
||
telegram_id - bigint, id пользователя в телеграм для отправки уведомлений (не обязательно) \
|
||
avatar_path - varchar, путь до аватарки на диске (не обязательно)
|
||
#####
|
||
#### Tasks
|
||
|
||
Отношение многие к одному Users.
|
||
#####
|
||
id - int, первичный ключ \
|
||
user_id - int, relationship для Users.id \
|
||
title - char, заголовок задачи \
|
||
description - text, полное описание задачи (не обязательно) \
|
||
due_date - date, день недели на которое будет назначена задача \
|
||
status - enum, текущий статус задачи (open, closed, in progress, todo; по умолчанию open) \
|
||
priority - enum, приоритетность задачи (low, medium, high, critical) \
|
||
created_at - timestamp, время создания \
|
||
time_spent - int, затраченное время (по умолчанию - 0)
|
||
#####
|
||
#### Attachements
|
||
|
||
Отношение многие к одному Tasks.
|
||
####
|
||
id - int, первичный ключ \
|
||
task_id - int, relationship для Tasks.id \
|
||
file_path - varchar, путь до файла на диске \
|
||
uploaded_at - timestamp
|
||
#####
|
||
#### Tags
|
||
|
||
id - int, первичный ключ \
|
||
name - char, название тега (уникально)
|
||
#####
|
||
#### Task_Assignees
|
||
|
||
Отношение многие с многими Tasks - Tags
|
||
#####
|
||
id - int, первичный ключ \
|
||
task_id - int, relationship для Tasks.id \
|
||
tag_id - int, relationship для Tags.id
|
||
___
|
||
 |