Update for db

This commit is contained in:
2025-06-16 08:03:02 +02:00
parent 15d8f488d6
commit 6e7ac29a27
9 changed files with 229 additions and 2 deletions

View File

@@ -0,0 +1,56 @@
CREATE TABLE "icon"(
"id" UUID NOT NULL PRIMARY KEY,
"name" VARCHAR(255) NOT NULL,
"content_type" VARCHAR(255),
"url" VARCHAR(512),
"width" INT4,
"height" INT4,
"state" JSON
);
CREATE TABLE "resource"(
"id" UUID NOT NULL PRIMARY KEY,
"name" VARCHAR(255) NOT NULL,
"title" VARCHAR(255) NOT NULL,
"url" VARCHAR(512),
"icon" UUID,
"state" JSON,
FOREIGN KEY ("icon") REFERENCES "icon"("id")
);
CREATE TABLE "recipe"(
"id" UUID NOT NULL PRIMARY KEY,
"resource" UUID NOT NULL,
"recipe_type" VARCHAR(50) NOT NULL,
"duration" INT4 NOT NULL,
"state" JSON,
FOREIGN KEY ("resource") REFERENCES "resource"("id")
);
CREATE TABLE "ingredient"(
"id" UUID NOT NULL PRIMARY KEY,
"resource" UUID NOT NULL,
"quantity" INT4 NOT NULL,
"state" JSON,
"recipe" UUID NOT NULL,
FOREIGN KEY ("resource") REFERENCES "resource"("id"),
FOREIGN KEY ("recipe") REFERENCES "recipe"("id")
);
CREATE INDEX IF NOT EXISTS idx_icon_name
ON icon USING btree
(name COLLATE pg_catalog."default" ASC NULLS LAST);
CREATE INDEX IF NOT EXISTS idx_recipe_type
ON recipe USING btree
(recipe_type COLLATE pg_catalog."default" ASC NULLS LAST);
CREATE INDEX IF NOT EXISTS idx_resource_name
ON resource USING btree
(name COLLATE pg_catalog."default" ASC NULLS LAST);
CREATE INDEX IF NOT EXISTS idx_resource_title
ON resource USING btree
(title COLLATE pg_catalog."default" ASC NULLS LAST);