diff --git a/backend/init.sql b/backend/init.sql new file mode 100644 index 0000000..113d5f8 --- /dev/null +++ b/backend/init.sql @@ -0,0 +1,55 @@ +-- CreateTable +CREATE TABLE "raw_vendor_prices" ( + "id" TEXT NOT NULL, + "timestamp" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "vendor" TEXT NOT NULL, + "seller_name" TEXT, + "usd_price" DECIMAL(12,2) NOT NULL, + "auec_amount" BIGINT NOT NULL, + "usd_per_million" DECIMAL(12,8) NOT NULL, + "delivery_time" TEXT, + "url" TEXT NOT NULL, + + CONSTRAINT "raw_vendor_prices_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "price_index" ( + "id" TEXT NOT NULL, + "timestamp" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "lowest_price" DECIMAL(12,8) NOT NULL, + "vendor" TEXT NOT NULL, + "seller_name" TEXT, + + CONSTRAINT "price_index_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "scrape_log" ( + "id" TEXT NOT NULL, + "timestamp" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "status" TEXT NOT NULL, + "message" TEXT, + "runtime_ms" INTEGER, + + CONSTRAINT "scrape_log_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "raw_vendor_prices_timestamp_idx" ON "raw_vendor_prices"("timestamp"); + +-- CreateIndex +CREATE INDEX "raw_vendor_prices_vendor_idx" ON "raw_vendor_prices"("vendor"); + +-- CreateIndex +CREATE INDEX "raw_vendor_prices_seller_name_idx" ON "raw_vendor_prices"("seller_name"); + +-- CreateIndex +CREATE INDEX "raw_vendor_prices_usd_per_million_idx" ON "raw_vendor_prices"("usd_per_million"); + +-- CreateIndex +CREATE INDEX "price_index_timestamp_idx" ON "price_index"("timestamp"); + +-- CreateIndex +CREATE INDEX "scrape_log_timestamp_idx" ON "scrape_log"("timestamp"); + diff --git a/backend/prisma/migrations/20251204024736_init/migration.sql b/backend/prisma/migrations/20251204024736_init/migration.sql new file mode 100644 index 0000000..f7dafce --- /dev/null +++ b/backend/prisma/migrations/20251204024736_init/migration.sql @@ -0,0 +1,54 @@ +-- CreateTable +CREATE TABLE "raw_vendor_prices" ( + "id" TEXT NOT NULL, + "timestamp" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "vendor" TEXT NOT NULL, + "seller_name" TEXT, + "usd_price" DECIMAL(12,2) NOT NULL, + "auec_amount" BIGINT NOT NULL, + "usd_per_million" DECIMAL(12,8) NOT NULL, + "delivery_time" TEXT, + "url" TEXT NOT NULL, + + CONSTRAINT "raw_vendor_prices_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "price_index" ( + "id" TEXT NOT NULL, + "timestamp" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "lowest_price" DECIMAL(12,8) NOT NULL, + "vendor" TEXT NOT NULL, + "seller_name" TEXT, + + CONSTRAINT "price_index_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "scrape_log" ( + "id" TEXT NOT NULL, + "timestamp" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "status" TEXT NOT NULL, + "message" TEXT, + "runtime_ms" INTEGER, + + CONSTRAINT "scrape_log_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "raw_vendor_prices_timestamp_idx" ON "raw_vendor_prices"("timestamp"); + +-- CreateIndex +CREATE INDEX "raw_vendor_prices_vendor_idx" ON "raw_vendor_prices"("vendor"); + +-- CreateIndex +CREATE INDEX "raw_vendor_prices_seller_name_idx" ON "raw_vendor_prices"("seller_name"); + +-- CreateIndex +CREATE INDEX "raw_vendor_prices_usd_per_million_idx" ON "raw_vendor_prices"("usd_per_million"); + +-- CreateIndex +CREATE INDEX "price_index_timestamp_idx" ON "price_index"("timestamp"); + +-- CreateIndex +CREATE INDEX "scrape_log_timestamp_idx" ON "scrape_log"("timestamp"); diff --git a/backend/prisma/migrations/migration_lock.toml b/backend/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..fbffa92 --- /dev/null +++ b/backend/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