2020-12-20 11:47:27 +01:00
|
|
|
CREATE TABLE "persons" (
|
|
|
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
|
|
|
"first_name" TEXT NOT NULL,
|
|
|
|
|
"last_name" TEXT NOT NULL
|
2020-09-28 14:15:59 +02:00
|
|
|
);
|
|
|
|
|
|
2020-12-20 11:47:27 +01:00
|
|
|
CREATE TABLE "instruments" (
|
|
|
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
|
|
|
"name" TEXT NOT NULL
|
2020-09-28 14:15:59 +02:00
|
|
|
);
|
|
|
|
|
|
2020-12-20 11:47:27 +01:00
|
|
|
CREATE TABLE "works" (
|
|
|
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
|
|
|
"composer" TEXT NOT NULL REFERENCES "persons"("id"),
|
|
|
|
|
"title" TEXT NOT NULL
|
2020-09-28 14:15:59 +02:00
|
|
|
);
|
|
|
|
|
|
2020-12-20 11:47:27 +01:00
|
|
|
CREATE TABLE "instrumentations" (
|
|
|
|
|
"id" BIGINT NOT NULL PRIMARY KEY,
|
|
|
|
|
"work" TEXT NOT NULL REFERENCES "works"("id") ON DELETE CASCADE,
|
|
|
|
|
"instrument" TEXT NOT NULL REFERENCES "instruments"("id") ON DELETE CASCADE
|
2020-09-28 14:15:59 +02:00
|
|
|
);
|
|
|
|
|
|
2020-12-20 11:47:27 +01:00
|
|
|
CREATE TABLE "work_parts" (
|
|
|
|
|
"id" BIGINT NOT NULL PRIMARY KEY,
|
|
|
|
|
"work" TEXT NOT NULL REFERENCES "works"("id") ON DELETE CASCADE,
|
|
|
|
|
"part_index" BIGINT NOT NULL,
|
2021-02-07 10:02:30 +01:00
|
|
|
"title" TEXT NOT NULL
|
2020-09-28 14:15:59 +02:00
|
|
|
);
|
|
|
|
|
|
2020-12-20 11:47:27 +01:00
|
|
|
CREATE TABLE "work_sections" (
|
|
|
|
|
"id" BIGINT NOT NULL PRIMARY KEY,
|
|
|
|
|
"work" TEXT NOT NULL REFERENCES "works"("id") ON DELETE CASCADE,
|
|
|
|
|
"title" TEXT NOT NULL,
|
|
|
|
|
"before_index" BIGINT NOT NULL
|
2020-09-28 14:15:59 +02:00
|
|
|
);
|
|
|
|
|
|
2020-12-20 11:47:27 +01:00
|
|
|
CREATE TABLE "ensembles" (
|
|
|
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
|
|
|
"name" TEXT NOT NULL
|
2020-09-28 14:15:59 +02:00
|
|
|
);
|
|
|
|
|
|
2020-12-20 11:47:27 +01:00
|
|
|
CREATE TABLE "recordings" (
|
|
|
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
|
|
|
"work" TEXT NOT NULL REFERENCES "works"("id"),
|
|
|
|
|
"comment" TEXT NOT NULL
|
2020-09-28 14:15:59 +02:00
|
|
|
);
|
|
|
|
|
|
2020-12-20 11:47:27 +01:00
|
|
|
CREATE TABLE "performances" (
|
|
|
|
|
"id" BIGINT NOT NULL PRIMARY KEY,
|
|
|
|
|
"recording" TEXT NOT NULL REFERENCES "recordings"("id") ON DELETE CASCADE,
|
|
|
|
|
"person" TEXT REFERENCES "persons"("id"),
|
|
|
|
|
"ensemble" TEXT REFERENCES "ensembles"("id"),
|
|
|
|
|
"role" TEXT REFERENCES "instruments"("id")
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE "mediums" (
|
|
|
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
|
|
|
"name" TEXT NOT NULL,
|
|
|
|
|
"discid" TEXT
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE "tracks" (
|
|
|
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
2021-04-08 00:08:31 +02:00
|
|
|
"medium" TEXT NOT NULL REFERENCES "mediums"("id") ON DELETE CASCADE,
|
2020-12-20 11:47:27 +01:00
|
|
|
"index" INTEGER NOT NULL,
|
2021-04-08 00:08:31 +02:00
|
|
|
"recording" TEXT NOT NULL REFERENCES "recordings"("id"),
|
2021-01-15 22:27:43 +01:00
|
|
|
"work_parts" TEXT NOT NULL,
|
|
|
|
|
"path" TEXT NOT NULL
|
2020-11-01 11:04:31 +01:00
|
|
|
);
|
|
|
|
|
|