45 lines
1.3 KiB
SQL
45 lines
1.3 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "Guild" (
|
|
"id" TEXT NOT NULL,
|
|
"lang" TEXT NOT NULL DEFAULT E'en',
|
|
|
|
CONSTRAINT "Guild_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Member" (
|
|
"id" SERIAL NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"xp" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
"guildId" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "Member_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Queue" (
|
|
"id" SERIAL NOT NULL,
|
|
"title" VARCHAR(32) NOT NULL,
|
|
"descriptrion" VARCHAR(128) NOT NULL,
|
|
"tracks" TEXT[],
|
|
"guildId" TEXT NOT NULL,
|
|
"authorId" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "Queue_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Member_userId_guildId_key" ON "Member"("userId", "guildId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Queue_title_guildId_key" ON "Queue"("title", "guildId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Member" ADD CONSTRAINT "Member_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Queue" ADD CONSTRAINT "Queue_guildId_fkey" FOREIGN KEY ("guildId") REFERENCES "Guild"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Queue" ADD CONSTRAINT "Queue_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "Member"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|