diff --git a/.gitignore b/.gitignore index f49fc0e9234657f35486daf06d512c92dbb24fdd..7c2b6adde5f2e21b6f7efa975b5477255c98f3ed 100644 --- a/.gitignore +++ b/.gitignore @@ -191,7 +191,6 @@ package # End of https://www.toptal.com/developers/gitignore/api/svelte,git,visualstudiocode,node ### Prisma -prisma/migrations prisma/*.db prisma/*.db-journal diff --git a/prisma/migrations/20230301145217_initial/migration.sql b/prisma/migrations/20230301145217_initial/migration.sql new file mode 100644 index 0000000000000000000000000000000000000000..a70efa4f59d1607944c728e1b8f51498169d0ea5 --- /dev/null +++ b/prisma/migrations/20230301145217_initial/migration.sql @@ -0,0 +1,102 @@ +-- CreateTable +CREATE TABLE "User" ( + "id" SERIAL NOT NULL, + "email" TEXT NOT NULL, + "name" TEXT NOT NULL, + "balance" INTEGER NOT NULL DEFAULT 0, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "comment" TEXT NOT NULL DEFAULT '', + + CONSTRAINT "User_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "UserCard" ( + "userId" INTEGER NOT NULL, + "card" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "perms" INTEGER NOT NULL DEFAULT 0, + "updatedAt" TIMESTAMP(3) NOT NULL +); + +-- CreateTable +CREATE TABLE "Transaction" ( + "id" SERIAL NOT NULL, + "amount" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "userId" INTEGER NOT NULL, + + CONSTRAINT "Transaction_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ItemCategory" ( + "id" SERIAL NOT NULL, + "name" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "ItemCategory_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Item" ( + "code" TEXT NOT NULL, + "name" TEXT NOT NULL, + "price" INTEGER NOT NULL, + "categoryId" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "image" TEXT, + "stock" INTEGER NOT NULL DEFAULT 0, + "available" BOOLEAN NOT NULL DEFAULT true, + + CONSTRAINT "Item_pkey" PRIMARY KEY ("code") +); + +-- CreateTable +CREATE TABLE "ItemTransaction" ( + "id" SERIAL NOT NULL, + "itemCode" TEXT NOT NULL, + "userId" INTEGER NOT NULL, + "price" INTEGER NOT NULL, + "premium" INTEGER NOT NULL DEFAULT 0, + "card" TEXT NOT NULL DEFAULT '', + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "ItemTransaction_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Restock" ( + "id" SERIAL NOT NULL, + "amount" INTEGER NOT NULL, + "itemCode" TEXT NOT NULL, + "cost" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "Restock_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); + +-- CreateIndex +CREATE UNIQUE INDEX "UserCard_card_key" ON "UserCard"("card"); + +-- AddForeignKey +ALTER TABLE "UserCard" ADD CONSTRAINT "UserCard_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Transaction" ADD CONSTRAINT "Transaction_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Item" ADD CONSTRAINT "Item_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "ItemCategory"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ItemTransaction" ADD CONSTRAINT "ItemTransaction_itemCode_fkey" FOREIGN KEY ("itemCode") REFERENCES "Item"("code") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ItemTransaction" ADD CONSTRAINT "ItemTransaction_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Restock" ADD CONSTRAINT "Restock_itemCode_fkey" FOREIGN KEY ("itemCode") REFERENCES "Item"("code") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000000000000000000000000000000000000..fbffa92c2bb7c748d6fc78f9f9dcac604dabb87d --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql" \ No newline at end of file