-- CreateTable CREATE TABLE "server_accounts" ( "id" TEXT NOT NULL PRIMARY KEY, "tenant_id" TEXT NOT NULL, "is_dedicated" BOOLEAN NOT NULL DEFAULT false, "server_name" TEXT, "specs" TEXT, "price_rials" INTEGER, "charged_at" DATETIME, "plan_months" INTEGER, "expires_at" DATETIME, "description" TEXT, "alert_days_before" INTEGER NOT NULL DEFAULT 3, "last_alert_date" DATETIME, "created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" DATETIME NOT NULL, CONSTRAINT "server_accounts_tenant_id_fkey" FOREIGN KEY ("tenant_id") REFERENCES "tenants" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "server_charges" ( "id" TEXT NOT NULL PRIMARY KEY, "server_account_id" TEXT NOT NULL, "charged_at" DATETIME NOT NULL, "plan_months" INTEGER NOT NULL, "price_rials" INTEGER NOT NULL, "expires_at" DATETIME NOT NULL, "note" TEXT, "created_by_id" TEXT, "created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "server_charges_server_account_id_fkey" FOREIGN KEY ("server_account_id") REFERENCES "server_accounts" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateIndex CREATE UNIQUE INDEX "server_accounts_tenant_id_key" ON "server_accounts"("tenant_id"); -- CreateIndex CREATE INDEX "server_accounts_expires_at_idx" ON "server_accounts"("expires_at"); -- CreateIndex CREATE INDEX "server_accounts_is_dedicated_idx" ON "server_accounts"("is_dedicated"); -- CreateIndex CREATE INDEX "server_charges_server_account_id_idx" ON "server_charges"("server_account_id"); -- CreateIndex CREATE INDEX "server_charges_created_at_idx" ON "server_charges"("created_at");