Compare commits

..

10 Commits

Author SHA1 Message Date
57556bafc5 Поправил ошибку с пустым проектом Ветро 2025-06-23 14:22:31 +03:00
c841ca7fa6 Проект может быть пустым 2025-06-23 13:56:16 +03:00
03abe704da Перенес author_id в конец 2025-06-20 17:04:25 +03:00
05f6beee90 Связь time_entry activity_id 2025-06-20 17:02:33 +03:00
5909f0d80a Merge pull request 'Новая таблица tasks' (#6) from dev into master
Reviewed-on: #6
2025-06-20 16:47:57 +03:00
3c995e0618 Merge pull request 'Добавил связь между полями activity_type_id' (#5) from dev into master
Reviewed-on: #5
2025-06-20 14:42:20 +03:00
de885281fc Merge pull request 'Добавил деление трудочасов пополам для новичков' (#4) from dev into master
Reviewed-on: #4
2025-06-19 17:20:51 +03:00
b586998f9d Merge pull request 'Исправил баг, при котором не сохранялись в БД активности без указания Проекта Ветро' (#3) from dev into master
Reviewed-on: #3
2025-06-19 16:57:32 +03:00
4882cfb46d Merge pull request 'Получение тегов с сервера только при обновлении БД. Исправил баг с предупреждением об устаревшей БД, когда не указан vetro_project' (#2) from dev into master
Reviewed-on: #2
2025-06-19 11:20:32 +03:00
cad77f41f0 Merge pull request 'Исправил ошибку, при которой нужный тег не парсился с сервера из-за ограничения выборки в 50 тегов. Увеличил до 100 тегов' (#1) from dev into master
Reviewed-on: #1
2025-06-19 10:19:47 +03:00
2 changed files with 6 additions and 2 deletions

View File

@@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS "activity" (
"vetro_project_id" VARCHAR, "vetro_project_id" VARCHAR,
"tag_id" VARCHAR NOT NULL, "tag_id" VARCHAR NOT NULL,
"task_id" INTEGER, "task_id" INTEGER,
"project_id" VARCHAR NOT NULL, "project_id" VARCHAR,
PRIMARY KEY("id"), PRIMARY KEY("id"),
FOREIGN KEY ("author_id") REFERENCES "user"("id") FOREIGN KEY ("author_id") REFERENCES "user"("id")
ON UPDATE NO ACTION ON DELETE NO ACTION, ON UPDATE NO ACTION ON DELETE NO ACTION,
@@ -49,16 +49,18 @@ CREATE TABLE IF NOT EXISTS "task" (
CREATE TABLE IF NOT EXISTS "time_entry" ( CREATE TABLE IF NOT EXISTS "time_entry" (
"id" INTEGER, "id" INTEGER,
"author_id" INTEGER NOT NULL,
"description" VARCHAR NOT NULL, "description" VARCHAR NOT NULL,
"date" DATETIME NOT NULL, "date" DATETIME NOT NULL,
"activity_id" VARCHAR NOT NULL, "activity_id" VARCHAR NOT NULL,
"time_spent" NUMERIC NOT NULL, "time_spent" NUMERIC NOT NULL,
"task_id" INTEGER NOT NULL, "task_id" INTEGER NOT NULL,
"activity_type_id" INTEGER NOT NULL, "activity_type_id" INTEGER NOT NULL,
"author_id" INTEGER NOT NULL,
PRIMARY KEY("id"), PRIMARY KEY("id"),
FOREIGN KEY ("author_id") REFERENCES "user"("id") FOREIGN KEY ("author_id") REFERENCES "user"("id")
ON UPDATE NO ACTION ON DELETE NO ACTION, ON UPDATE NO ACTION ON DELETE NO ACTION,
FOREIGN KEY ("activity_id") REFERENCES "activity"("id")
ON UPDATE NO ACTION ON DELETE NO ACTION,
FOREIGN KEY ("task_id") REFERENCES "task"("id") FOREIGN KEY ("task_id") REFERENCES "task"("id")
ON UPDATE NO ACTION ON DELETE NO ACTION, ON UPDATE NO ACTION ON DELETE NO ACTION,
FOREIGN KEY ("activity_type_id") REFERENCES "activity_type"("id") FOREIGN KEY ("activity_type_id") REFERENCES "activity_type"("id")

View File

@@ -122,6 +122,8 @@ class Database:
def insert_vetro_projects(self, vetro_projects: list[VetroProject]): def insert_vetro_projects(self, vetro_projects: list[VetroProject]):
"""Сохраняет в базу данных Проекты (ДО) Ветро Clockify""" """Сохраняет в базу данных Проекты (ДО) Ветро Clockify"""
if not vetro_projects:
return
for vetro_project in vetro_projects: for vetro_project in vetro_projects:
try: try:
self.cursor.execute("INSERT INTO vetro_project VALUES(?, ?)", (vetro_project.id, vetro_project.title)) self.cursor.execute("INSERT INTO vetro_project VALUES(?, ?)", (vetro_project.id, vetro_project.title))