61 lines
1.6 KiB
SQL
61 lines
1.6 KiB
SQL
CREATE TABLE IF NOT EXISTS "activity" (
|
|
"id" VARCHAR NOT NULL UNIQUE,
|
|
"description" VARCHAR NOT NULL,
|
|
"author_id" INTEGER NOT NULL,
|
|
"time_spent" NUMERIC 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 ("author_id") REFERENCES "user"("id")
|
|
ON UPDATE NO ACTION ON DELETE NO ACTION
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS "tag" (
|
|
"id" VARCHAR NOT NULL UNIQUE,
|
|
"title" VARCHAR NOT NULL,
|
|
PRIMARY KEY("id")
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS "vetro_project" (
|
|
"id" VARCHAR NOT NULL UNIQUE,
|
|
"title" VARCHAR NOT NULL,
|
|
PRIMARY KEY("id")
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS "activity_type" (
|
|
"id" INTEGER NOT NULL UNIQUE,
|
|
"title" VARCHAR NOT NULL,
|
|
PRIMARY KEY("id")
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS "time_entry" (
|
|
"id" INTEGER,
|
|
"author_id" INTEGER NOT NULL,
|
|
"description" VARCHAR NOT NULL,
|
|
"date" DATETIME NOT NULL,
|
|
"activity_id" VARCHAR NOT NULL,
|
|
"time_spent" NUMERIC NOT NULL,
|
|
"task_id" INTEGER NOT NULL,
|
|
"activity_type_id" INTEGER NOT NULL,
|
|
PRIMARY KEY("id"),
|
|
FOREIGN KEY ("author_id") REFERENCES "user"("id")
|
|
ON UPDATE NO ACTION ON DELETE NO ACTION
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS "user" (
|
|
"id" INTEGER NOT NULL UNIQUE,
|
|
"first_name" VARCHAR,
|
|
"last_name" VARCHAR,
|
|
"clockify_user_id" VARCHAR NOT NULL UNIQUE,
|
|
"redmine_user_id" VARCHAR NOT NULL UNIQUE,
|
|
"clockify_email" VARCHAR UNIQUE,
|
|
"clockify_username" VARCHAR UNIQUE,
|
|
"redmine_email" VARCHAR UNIQUE,
|
|
"redmine_username" VARCHAR UNIQUE,
|
|
PRIMARY KEY("id")
|
|
);
|