| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- -- CreateTable
- CREATE TABLE "users" (
- "id" TEXT NOT NULL,
- "email" TEXT NOT NULL,
- "password_hash" TEXT NOT NULL,
- "currency" TEXT NOT NULL DEFAULT 'USD',
- "balance_cents" BIGINT NOT NULL DEFAULT 0,
- "status" TEXT NOT NULL DEFAULT 'active',
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- "updated_at" TIMESTAMP(3) NOT NULL,
- CONSTRAINT "users_pkey" PRIMARY KEY ("id")
- );
- -- CreateTable
- CREATE TABLE "api_keys" (
- "id" TEXT NOT NULL,
- "user_id" TEXT NOT NULL,
- "name" TEXT NOT NULL,
- "key_hash" TEXT NOT NULL,
- "prefix" TEXT NOT NULL,
- "last_used_at" TIMESTAMP(3),
- "status" TEXT NOT NULL DEFAULT 'active',
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- "updated_at" TIMESTAMP(3) NOT NULL,
- CONSTRAINT "api_keys_pkey" PRIMARY KEY ("id")
- );
- -- CreateTable
- CREATE TABLE "balance_transactions" (
- "id" TEXT NOT NULL,
- "user_id" TEXT NOT NULL,
- "amount_cents" BIGINT NOT NULL,
- "type" TEXT NOT NULL,
- "ref_id" TEXT,
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- CONSTRAINT "balance_transactions_pkey" PRIMARY KEY ("id")
- );
- -- CreateTable
- CREATE TABLE "usage_records" (
- "id" TEXT NOT NULL,
- "user_id" TEXT NOT NULL,
- "api_key_id" TEXT NOT NULL,
- "model" TEXT NOT NULL,
- "prompt_tokens" INTEGER NOT NULL,
- "completion_tokens" INTEGER NOT NULL,
- "cost_cents" INTEGER NOT NULL,
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- CONSTRAINT "usage_records_pkey" PRIMARY KEY ("id")
- );
- -- CreateTable
- CREATE TABLE "orders" (
- "id" TEXT NOT NULL,
- "user_id" TEXT NOT NULL,
- "provider" TEXT NOT NULL,
- "provider_order_id" TEXT,
- "amount_cents" BIGINT NOT NULL,
- "status" TEXT NOT NULL DEFAULT 'pending',
- "currency" TEXT NOT NULL DEFAULT 'USD',
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- CONSTRAINT "orders_pkey" PRIMARY KEY ("id")
- );
- -- CreateIndex
- CREATE UNIQUE INDEX "users_email_key" ON "users"("email");
- -- CreateIndex
- CREATE UNIQUE INDEX "api_keys_key_hash_key" ON "api_keys"("key_hash");
- -- AddForeignKey
- ALTER TABLE "api_keys" ADD CONSTRAINT "api_keys_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
- -- AddForeignKey
- ALTER TABLE "balance_transactions" ADD CONSTRAINT "balance_transactions_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
- -- AddForeignKey
- ALTER TABLE "usage_records" ADD CONSTRAINT "usage_records_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
- -- AddForeignKey
- ALTER TABLE "usage_records" ADD CONSTRAINT "usage_records_api_key_id_fkey" FOREIGN KEY ("api_key_id") REFERENCES "api_keys"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
- -- AddForeignKey
- ALTER TABLE "orders" ADD CONSTRAINT "orders_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|