Добавил режим отладки. Исправил проблемы с логгером

This commit is contained in:
2025-05-21 11:57:09 +03:00
parent caa13a056b
commit aae6d8309a
7 changed files with 133 additions and 106 deletions

45
config/RedmineTracker.sql Normal file
View File

@@ -0,0 +1,45 @@
CREATE TABLE IF NOT EXISTS "activities" (
"id" VARCHAR NOT NULL UNIQUE,
"description" VARCHAR NOT NULL,
"time_spent" NUMERIC(3, 3) NOT NULL,
"date_start" DATETIME NOT NULL,
"date_end" DATETIME,
"is_tracked" BOOLEAN NOT NULL DEFAULT false,
"vetro_project_id" VARCHAR NOT NULL,
"tag_id" VARCHAR NOT NULL,
"project_id" VARCHAR NOT NULL,
PRIMARY KEY("id"),
FOREIGN KEY ("tag_id") REFERENCES "tags"("id") ON UPDATE NO ACTION ON DELETE NO ACTION,
FOREIGN KEY ("vetro_project_id") REFERENCES "vetro_projects"("id") ON UPDATE NO ACTION ON DELETE NO ACTION
);
CREATE TABLE IF NOT EXISTS "tags" (
"id" VARCHAR NOT NULL UNIQUE,
"title" VARCHAR NOT NULL,
PRIMARY KEY("id")
);
CREATE TABLE IF NOT EXISTS "vetro_projects" (
"id" VARCHAR NOT NULL UNIQUE,
"title" VARCHAR NOT NULL,
PRIMARY KEY("id")
);
CREATE TABLE IF NOT EXISTS "activity_types" (
"id" INTEGER NOT NULL UNIQUE,
"title" VARCHAR NOT NULL,
PRIMARY KEY("id")
);
CREATE TABLE IF NOT EXISTS "time_entry" (
"id" INTEGER PRIMARY KEY,
"date" DATETIME NOT NULL,
"description" VARCHAR NOT NULL,
"activity_id" VARCHAR NOT NULL,
"time_spent" NUMERIC(3, 3) NOT NULL,
"task_id" INTEGER NOT NULL,
"activity_type_id" INTEGER NOT NULL,
FOREIGN KEY ("activity_id") REFERENCES "activities"("id") ON UPDATE NO ACTION ON DELETE NO ACTION,
FOREIGN KEY ("task_id") REFERENCES "activities"("id") ON UPDATE NO ACTION ON DELETE NO ACTION,
FOREIGN KEY ("activity_type_id") REFERENCES "activity_types"("id") ON UPDATE NO ACTION ON DELETE NO ACTION
);

View File

@@ -17,6 +17,7 @@ class Config(BaseSettings):
CLOCKIFY_WORKSPACE_ID: str
DB_NAME: str = "RedmineTracker.db"
SQL_PATH: str = "config/RedmineTracker.sql"
DATETIME_FORMAT: str = "%Y-%m-%dT%H:%M:%SZ"
@@ -59,8 +60,14 @@ def configure_argument_parser():
'--page-size',
help='Количество задач для вывода'
)
parser.add_argument(
'-d',
'--debug',
action="store_true",
help='Режим отладки. Не загружает трудочасы в Redmine'
)
return parser
arg_parser = configure_argument_parser()
config = Config()
db = Database(config.DB_NAME)
db = Database(config.DB_NAME, config.SQL_PATH)