feat(db): generate schema artifacts and align sqlite baseline
This commit is contained in:
1 parent
5bc5fb7039
commit
6d389cb3af
14 files changed
+3216
-10
No files matched your search
@@ -0,0 +1,27 @@
|
||||
CREATE TABLE IF NOT EXISTS "downstream_api_keys" ("id" INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY, "name" TEXT NOT NULL, "key" TEXT NOT NULL, "description" TEXT, "enabled" BOOLEAN DEFAULT true, "expires_at" TEXT, "max_cost" DOUBLE PRECISION, "used_cost" DOUBLE PRECISION DEFAULT 0, "max_requests" INTEGER, "used_requests" INTEGER DEFAULT 0, "supported_models" TEXT, "allowed_route_ids" TEXT, "site_weight_multipliers" TEXT, "last_used_at" TEXT, "created_at" TEXT DEFAULT datetime('now'), "updated_at" TEXT DEFAULT datetime('now'));
|
||||
CREATE TABLE IF NOT EXISTS "proxy_files" ("id" INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY, "public_id" TEXT NOT NULL, "owner_type" TEXT NOT NULL, "owner_id" TEXT NOT NULL, "filename" TEXT NOT NULL, "mime_type" TEXT NOT NULL, "purpose" TEXT, "byte_size" INTEGER NOT NULL, "sha256" TEXT NOT NULL, "content_base64" TEXT NOT NULL, "created_at" TEXT DEFAULT datetime('now'), "updated_at" TEXT DEFAULT datetime('now'), "deleted_at" TEXT);
|
||||
CREATE TABLE IF NOT EXISTS "proxy_video_tasks" ("id" INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY, "public_id" TEXT NOT NULL, "upstream_video_id" TEXT NOT NULL, "site_url" TEXT NOT NULL, "token_value" TEXT NOT NULL, "requested_model" TEXT, "actual_model" TEXT, "channel_id" INTEGER, "account_id" INTEGER, "status_snapshot" TEXT, "upstream_response_meta" TEXT, "last_upstream_status" INTEGER, "last_polled_at" TEXT, "created_at" TEXT DEFAULT datetime('now'), "updated_at" TEXT DEFAULT datetime('now'));
|
||||
ALTER TABLE "route_channels" ADD COLUMN "source_model" TEXT;
|
||||
ALTER TABLE "route_channels" ADD COLUMN "last_selected_at" TEXT;
|
||||
ALTER TABLE "route_channels" ADD COLUMN "consecutive_fail_count" INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE "route_channels" ADD COLUMN "cooldown_level" INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE "sites" ADD COLUMN "proxy_url" TEXT;
|
||||
ALTER TABLE "sites" ADD COLUMN "use_system_proxy" BOOLEAN DEFAULT false;
|
||||
ALTER TABLE "sites" ADD COLUMN "custom_headers" TEXT;
|
||||
ALTER TABLE "sites" ADD COLUMN "external_checkin_url" TEXT;
|
||||
ALTER TABLE "sites" ADD COLUMN "global_weight" DOUBLE PRECISION DEFAULT 1;
|
||||
ALTER TABLE "token_routes" ADD COLUMN "display_name" TEXT;
|
||||
ALTER TABLE "token_routes" ADD COLUMN "display_icon" TEXT;
|
||||
ALTER TABLE "token_routes" ADD COLUMN "decision_snapshot" TEXT;
|
||||
ALTER TABLE "token_routes" ADD COLUMN "decision_refreshed_at" TEXT;
|
||||
ALTER TABLE "token_routes" ADD COLUMN "routing_strategy" TEXT DEFAULT 'weighted';
|
||||
CREATE UNIQUE INDEX "downstream_api_keys_key_unique" ON "downstream_api_keys" ("key");
|
||||
CREATE UNIQUE INDEX "model_availability_account_model_unique" ON "model_availability" ("account_id", "model_name");
|
||||
CREATE UNIQUE INDEX "proxy_files_public_id_unique" ON "proxy_files" ("public_id");
|
||||
CREATE UNIQUE INDEX "proxy_video_tasks_public_id_unique" ON "proxy_video_tasks" ("public_id");
|
||||
CREATE INDEX "downstream_api_keys_enabled_idx" ON "downstream_api_keys" ("enabled");
|
||||
CREATE INDEX "downstream_api_keys_expires_at_idx" ON "downstream_api_keys" ("expires_at");
|
||||
CREATE INDEX "downstream_api_keys_name_idx" ON "downstream_api_keys" ("name");
|
||||
CREATE INDEX "proxy_files_owner_lookup_idx" ON "proxy_files" ("owner_type", "owner_id", "deleted_at");
|
||||
CREATE INDEX "proxy_video_tasks_created_at_idx" ON "proxy_video_tasks" ("created_at");
|
||||
CREATE INDEX "proxy_video_tasks_upstream_video_id_idx" ON "proxy_video_tasks" ("upstream_video_id");
|
||||
Reference in new issue
Block a user