mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
Rootfix usage counter outbox
This commit is contained in:
@@ -168,7 +168,7 @@ CREATE TABLE IF NOT EXISTS public.api_keys (
|
||||
name character varying(100),
|
||||
key_prefix character varying(64),
|
||||
status character varying(64) DEFAULT 'active'::character varying NOT NULL,
|
||||
total_requests integer DEFAULT 0,
|
||||
total_requests bigint DEFAULT 0,
|
||||
total_tokens bigint DEFAULT '0'::bigint NOT NULL,
|
||||
total_cost_usd numeric(20,8) DEFAULT '0'::double precision,
|
||||
is_standalone boolean DEFAULT false NOT NULL,
|
||||
@@ -288,7 +288,7 @@ CREATE TABLE IF NOT EXISTS public.global_models (
|
||||
default_tiered_pricing json,
|
||||
supported_capabilities json,
|
||||
is_active boolean DEFAULT true NOT NULL,
|
||||
usage_count integer DEFAULT 0 NOT NULL,
|
||||
usage_count bigint DEFAULT 0 NOT NULL,
|
||||
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
||||
updated_at timestamp with time zone DEFAULT now() NOT NULL,
|
||||
config jsonb,
|
||||
@@ -359,7 +359,7 @@ CREATE TABLE IF NOT EXISTS public.management_tokens (
|
||||
expires_at timestamp with time zone,
|
||||
last_used_at timestamp with time zone,
|
||||
last_used_ip character varying(45),
|
||||
usage_count integer DEFAULT 0 NOT NULL,
|
||||
usage_count bigint DEFAULT 0 NOT NULL,
|
||||
is_active boolean DEFAULT true NOT NULL,
|
||||
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
||||
updated_at timestamp with time zone DEFAULT now() NOT NULL,
|
||||
@@ -585,10 +585,10 @@ CREATE TABLE IF NOT EXISTS public.provider_api_keys (
|
||||
last_probe_increase_at timestamp with time zone,
|
||||
cache_ttl_minutes integer DEFAULT 5 NOT NULL,
|
||||
max_probe_interval_minutes integer DEFAULT 32 NOT NULL,
|
||||
request_count integer DEFAULT 0,
|
||||
success_count integer DEFAULT 0,
|
||||
error_count integer DEFAULT 0,
|
||||
total_response_time_ms integer DEFAULT 0,
|
||||
request_count bigint DEFAULT 0,
|
||||
success_count bigint DEFAULT 0,
|
||||
error_count bigint DEFAULT 0,
|
||||
total_response_time_ms bigint DEFAULT 0,
|
||||
last_used_at timestamp with time zone,
|
||||
last_error_at timestamp with time zone,
|
||||
last_error_msg text,
|
||||
@@ -856,7 +856,7 @@ CREATE TABLE IF NOT EXISTS public.refund_requests (
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.request_candidates (
|
||||
id character varying(36) NOT NULL,
|
||||
request_id character varying(100) NOT NULL,
|
||||
request_id character varying(128) NOT NULL,
|
||||
user_id character varying(36),
|
||||
api_key_id character varying(36),
|
||||
candidate_index integer NOT NULL,
|
||||
@@ -1263,6 +1263,39 @@ CREATE TABLE IF NOT EXISTS public.usage (
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: usage_counter_deltas; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.usage_counter_deltas (
|
||||
id character varying(36) NOT NULL,
|
||||
request_id character varying(128) NOT NULL,
|
||||
kind character varying(64) NOT NULL,
|
||||
target_id text NOT NULL,
|
||||
request_count_delta bigint DEFAULT 0 NOT NULL,
|
||||
total_requests_delta bigint DEFAULT 0 NOT NULL,
|
||||
success_count_delta bigint DEFAULT 0 NOT NULL,
|
||||
error_count_delta bigint DEFAULT 0 NOT NULL,
|
||||
dns_failures_delta bigint DEFAULT 0 NOT NULL,
|
||||
stream_errors_delta bigint DEFAULT 0 NOT NULL,
|
||||
total_tokens_delta bigint DEFAULT 0 NOT NULL,
|
||||
total_cost_usd_delta double precision DEFAULT 0 NOT NULL,
|
||||
total_response_time_ms_delta bigint DEFAULT 0 NOT NULL,
|
||||
last_used_at_unix_secs bigint,
|
||||
last_used_ip text,
|
||||
candidate_last_used_at_unix_secs bigint,
|
||||
removed_last_used_at_unix_secs bigint,
|
||||
usage_created_at_unix_secs bigint,
|
||||
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
||||
processed_at timestamp with time zone,
|
||||
CONSTRAINT usage_counter_deltas_pkey PRIMARY KEY (id),
|
||||
CONSTRAINT usage_counter_deltas_kind_check CHECK (
|
||||
kind IN ('api_key', 'provider_api_key', 'model', 'provider_monthly', 'proxy_node', 'management_token', 'api_key_last_used')
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: user_model_usage_counts; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
@@ -173,6 +173,14 @@ CREATE INDEX IF NOT EXISTS idx_entitlement_usage_user_date ON public.entitlement
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_entitlement_usage_entitlement_date; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_entitlement_usage_entitlement_date ON public.entitlement_usage_ledgers USING btree (user_entitlement_id, usage_date);
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_provider_api_keys_provider_active; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
@@ -549,6 +557,30 @@ CREATE INDEX IF NOT EXISTS idx_usage_wallet_finalized ON public.usage USING btre
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: ix_usage_counter_deltas_request_kind; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_request_kind ON public.usage_counter_deltas USING btree (request_id, kind, target_id);
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: ix_usage_counter_deltas_processed; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_processed ON public.usage_counter_deltas USING btree (processed_at, created_at, id) WHERE processed_at IS NOT NULL;
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: ix_usage_counter_deltas_unprocessed; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_unprocessed ON public.usage_counter_deltas USING btree (created_at, id) WHERE processed_at IS NULL;
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_user_model_usage_model; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
@@ -597,6 +629,14 @@ CREATE INDEX IF NOT EXISTS idx_video_tasks_next_poll ON public.video_tasks USING
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_video_tasks_due_poll; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_video_tasks_due_poll ON public.video_tasks USING btree (status, next_poll_at, updated_at) WHERE next_poll_at IS NOT NULL;
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_video_tasks_request_id; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
@@ -286,6 +286,7 @@ CREATE TABLE IF NOT EXISTS video_tasks (
|
||||
UNIQUE KEY video_tasks_request_id_key (`request_id`),
|
||||
KEY video_tasks_external_id_idx (`external_task_id`),
|
||||
KEY video_tasks_next_poll_idx (`next_poll_at`),
|
||||
KEY video_tasks_due_poll_idx (`status`, `next_poll_at`, `updated_at`),
|
||||
KEY video_tasks_user_status_idx (`user_id`, `status`),
|
||||
KEY video_tasks_api_key_id_idx (`api_key_id`),
|
||||
KEY video_tasks_provider_id_idx (`provider_id`),
|
||||
|
||||
@@ -189,7 +189,8 @@ CREATE TABLE IF NOT EXISTS entitlement_usage_ledgers (
|
||||
`created_at` BIGINT NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_entitlement_usage_request (`user_entitlement_id`, `request_id`),
|
||||
KEY idx_entitlement_usage_user_date (`user_id`, `usage_date`)
|
||||
KEY idx_entitlement_usage_user_date (`user_id`, `usage_date`),
|
||||
KEY idx_entitlement_usage_entitlement_date (`user_entitlement_id`, `usage_date`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS refund_requests (
|
||||
|
||||
@@ -111,6 +111,33 @@ CREATE TABLE IF NOT EXISTS `usage` (
|
||||
KEY usage_wallet_id_idx (`wallet_id`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS usage_counter_deltas (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`request_id` VARCHAR(128) NOT NULL,
|
||||
`kind` VARCHAR(64) NOT NULL,
|
||||
`target_id` TEXT NOT NULL,
|
||||
`request_count_delta` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_requests_delta` BIGINT NOT NULL DEFAULT 0,
|
||||
`success_count_delta` BIGINT NOT NULL DEFAULT 0,
|
||||
`error_count_delta` BIGINT NOT NULL DEFAULT 0,
|
||||
`dns_failures_delta` BIGINT NOT NULL DEFAULT 0,
|
||||
`stream_errors_delta` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_tokens_delta` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_cost_usd_delta` DOUBLE NOT NULL DEFAULT 0,
|
||||
`total_response_time_ms_delta` BIGINT NOT NULL DEFAULT 0,
|
||||
`last_used_at_unix_secs` BIGINT,
|
||||
`last_used_ip` TEXT,
|
||||
`candidate_last_used_at_unix_secs` BIGINT,
|
||||
`removed_last_used_at_unix_secs` BIGINT,
|
||||
`usage_created_at_unix_secs` BIGINT,
|
||||
`created_at` BIGINT NOT NULL,
|
||||
`processed_at` BIGINT,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY ix_usage_counter_deltas_unprocessed (`created_at`, `id`),
|
||||
KEY ix_usage_counter_deltas_processed (`processed_at`, `created_at`, `id`),
|
||||
KEY ix_usage_counter_deltas_request_kind (`request_id`, `kind`, `target_id`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS usage_settlement_snapshots (
|
||||
`request_id` VARCHAR(128) NOT NULL,
|
||||
`billing_status` VARCHAR(64) NOT NULL,
|
||||
|
||||
@@ -296,6 +296,7 @@ ALTER TABLE ONLY public.video_tasks ADD CONSTRAINT video_tasks_short_id_key UNIQ
|
||||
ALTER TABLE ONLY public.video_tasks ADD CONSTRAINT video_tasks_request_id_key UNIQUE (request_id);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_external_id_idx ON public.video_tasks USING btree (external_task_id);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_next_poll_idx ON public.video_tasks USING btree (next_poll_at);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_due_poll_idx ON public.video_tasks USING btree (status, next_poll_at, updated_at);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_user_status_idx ON public.video_tasks USING btree (user_id, status);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_api_key_id_idx ON public.video_tasks USING btree (api_key_id);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_provider_id_idx ON public.video_tasks USING btree (provider_id);
|
||||
|
||||
@@ -200,6 +200,7 @@ CREATE TABLE IF NOT EXISTS public.entitlement_usage_ledgers (
|
||||
ALTER TABLE ONLY public.entitlement_usage_ledgers ADD CONSTRAINT entitlement_usage_ledgers_pkey PRIMARY KEY (id);
|
||||
ALTER TABLE ONLY public.entitlement_usage_ledgers ADD CONSTRAINT uq_entitlement_usage_request UNIQUE (user_entitlement_id, request_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_entitlement_usage_user_date ON public.entitlement_usage_ledgers USING btree (user_id, usage_date);
|
||||
CREATE INDEX IF NOT EXISTS idx_entitlement_usage_entitlement_date ON public.entitlement_usage_ledgers USING btree (user_entitlement_id, usage_date);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.refund_requests (
|
||||
id character varying(64) NOT NULL,
|
||||
|
||||
@@ -112,6 +112,34 @@ CREATE INDEX IF NOT EXISTS usage_request_id_idx ON public.usage USING btree (req
|
||||
CREATE INDEX IF NOT EXISTS usage_user_id_idx ON public.usage USING btree (user_id);
|
||||
CREATE INDEX IF NOT EXISTS usage_wallet_id_idx ON public.usage USING btree (wallet_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.usage_counter_deltas (
|
||||
id character varying(36) NOT NULL,
|
||||
request_id character varying(128) NOT NULL,
|
||||
kind character varying(64) NOT NULL,
|
||||
target_id text NOT NULL,
|
||||
request_count_delta bigint DEFAULT 0 NOT NULL,
|
||||
total_requests_delta bigint DEFAULT 0 NOT NULL,
|
||||
success_count_delta bigint DEFAULT 0 NOT NULL,
|
||||
error_count_delta bigint DEFAULT 0 NOT NULL,
|
||||
dns_failures_delta bigint DEFAULT 0 NOT NULL,
|
||||
stream_errors_delta bigint DEFAULT 0 NOT NULL,
|
||||
total_tokens_delta bigint DEFAULT 0 NOT NULL,
|
||||
total_cost_usd_delta double precision DEFAULT 0 NOT NULL,
|
||||
total_response_time_ms_delta bigint DEFAULT 0 NOT NULL,
|
||||
last_used_at_unix_secs bigint,
|
||||
last_used_ip text,
|
||||
candidate_last_used_at_unix_secs bigint,
|
||||
removed_last_used_at_unix_secs bigint,
|
||||
usage_created_at_unix_secs bigint,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
processed_at timestamp with time zone
|
||||
);
|
||||
|
||||
ALTER TABLE ONLY public.usage_counter_deltas ADD CONSTRAINT usage_counter_deltas_pkey PRIMARY KEY (id);
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_unprocessed ON public.usage_counter_deltas USING btree (created_at, id);
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_processed ON public.usage_counter_deltas USING btree (processed_at, created_at, id);
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_request_kind ON public.usage_counter_deltas USING btree (request_id, kind, target_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.usage_settlement_snapshots (
|
||||
request_id character varying(128) NOT NULL,
|
||||
billing_status character varying(64) NOT NULL,
|
||||
|
||||
@@ -278,6 +278,7 @@ CREATE TABLE IF NOT EXISTS video_tasks (
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_external_id_idx ON video_tasks (external_task_id);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_next_poll_idx ON video_tasks (next_poll_at);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_due_poll_idx ON video_tasks (status, next_poll_at, updated_at);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_user_status_idx ON video_tasks (user_id, status);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_api_key_id_idx ON video_tasks (api_key_id);
|
||||
CREATE INDEX IF NOT EXISTS video_tasks_provider_id_idx ON video_tasks (provider_id);
|
||||
|
||||
@@ -182,6 +182,7 @@ CREATE TABLE IF NOT EXISTS entitlement_usage_ledgers (
|
||||
UNIQUE (user_entitlement_id, request_id)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_entitlement_usage_user_date ON entitlement_usage_ledgers (user_id, usage_date);
|
||||
CREATE INDEX IF NOT EXISTS idx_entitlement_usage_entitlement_date ON entitlement_usage_ledgers (user_entitlement_id, usage_date);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS refund_requests (
|
||||
id TEXT PRIMARY KEY NOT NULL,
|
||||
|
||||
@@ -110,6 +110,32 @@ CREATE INDEX IF NOT EXISTS usage_request_id_idx ON "usage" (request_id);
|
||||
CREATE INDEX IF NOT EXISTS usage_user_id_idx ON "usage" (user_id);
|
||||
CREATE INDEX IF NOT EXISTS usage_wallet_id_idx ON "usage" (wallet_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS usage_counter_deltas (
|
||||
id TEXT PRIMARY KEY NOT NULL,
|
||||
request_id TEXT NOT NULL,
|
||||
kind TEXT NOT NULL,
|
||||
target_id TEXT NOT NULL,
|
||||
request_count_delta INTEGER NOT NULL DEFAULT 0,
|
||||
total_requests_delta INTEGER NOT NULL DEFAULT 0,
|
||||
success_count_delta INTEGER NOT NULL DEFAULT 0,
|
||||
error_count_delta INTEGER NOT NULL DEFAULT 0,
|
||||
dns_failures_delta INTEGER NOT NULL DEFAULT 0,
|
||||
stream_errors_delta INTEGER NOT NULL DEFAULT 0,
|
||||
total_tokens_delta INTEGER NOT NULL DEFAULT 0,
|
||||
total_cost_usd_delta REAL NOT NULL DEFAULT 0,
|
||||
total_response_time_ms_delta INTEGER NOT NULL DEFAULT 0,
|
||||
last_used_at_unix_secs INTEGER,
|
||||
last_used_ip TEXT,
|
||||
candidate_last_used_at_unix_secs INTEGER,
|
||||
removed_last_used_at_unix_secs INTEGER,
|
||||
usage_created_at_unix_secs INTEGER,
|
||||
created_at INTEGER NOT NULL,
|
||||
processed_at INTEGER
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_unprocessed ON usage_counter_deltas (created_at, id);
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_processed ON usage_counter_deltas (processed_at, created_at, id);
|
||||
CREATE INDEX IF NOT EXISTS ix_usage_counter_deltas_request_kind ON usage_counter_deltas (request_id, kind, target_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS usage_settlement_snapshots (
|
||||
request_id TEXT PRIMARY KEY NOT NULL,
|
||||
billing_status TEXT NOT NULL,
|
||||
|
||||
@@ -1296,6 +1296,10 @@ columns = ["external_task_id"]
|
||||
name = "video_tasks_next_poll_idx"
|
||||
columns = ["next_poll_at"]
|
||||
|
||||
[[table.video_tasks.indexes]]
|
||||
name = "video_tasks_due_poll_idx"
|
||||
columns = ["status", "next_poll_at", "updated_at"]
|
||||
|
||||
[[table.video_tasks.indexes]]
|
||||
name = "video_tasks_user_status_idx"
|
||||
columns = ["user_id", "status"]
|
||||
|
||||
@@ -770,6 +770,10 @@ columns = ["user_entitlement_id", "request_id"]
|
||||
name = "idx_entitlement_usage_user_date"
|
||||
columns = ["user_id", "usage_date"]
|
||||
|
||||
[[table.entitlement_usage_ledgers.indexes]]
|
||||
name = "idx_entitlement_usage_entitlement_date"
|
||||
columns = ["user_entitlement_id", "usage_date"]
|
||||
|
||||
[[table.payment_callbacks.indexes]]
|
||||
name = "idx_payment_callbacks_order"
|
||||
columns = ["order_no"]
|
||||
|
||||
@@ -554,6 +554,121 @@ columns = ["user_id"]
|
||||
name = "usage_wallet_id_idx"
|
||||
columns = ["wallet_id"]
|
||||
|
||||
[table.usage_counter_deltas]
|
||||
domain = "usage"
|
||||
order = 15
|
||||
primary_key = ["id"]
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "id"
|
||||
type = "text"
|
||||
length = 36
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "request_id"
|
||||
type = "text"
|
||||
length = 128
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "kind"
|
||||
type = "text"
|
||||
length = 64
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "target_id"
|
||||
type = "text"
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "request_count_delta"
|
||||
type = "int64"
|
||||
default = 0
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "total_requests_delta"
|
||||
type = "int64"
|
||||
default = 0
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "success_count_delta"
|
||||
type = "int64"
|
||||
default = 0
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "error_count_delta"
|
||||
type = "int64"
|
||||
default = 0
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "dns_failures_delta"
|
||||
type = "int64"
|
||||
default = 0
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "stream_errors_delta"
|
||||
type = "int64"
|
||||
default = 0
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "total_tokens_delta"
|
||||
type = "int64"
|
||||
default = 0
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "total_cost_usd_delta"
|
||||
type = "float64"
|
||||
default = 0
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "total_response_time_ms_delta"
|
||||
type = "int64"
|
||||
default = 0
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "last_used_at_unix_secs"
|
||||
type = "unix_seconds"
|
||||
nullable = true
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "last_used_ip"
|
||||
type = "text"
|
||||
nullable = true
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "candidate_last_used_at_unix_secs"
|
||||
type = "unix_seconds"
|
||||
nullable = true
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "removed_last_used_at_unix_secs"
|
||||
type = "unix_seconds"
|
||||
nullable = true
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "usage_created_at_unix_secs"
|
||||
type = "unix_seconds"
|
||||
nullable = true
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "created_at"
|
||||
type = "timestamp"
|
||||
|
||||
[[table.usage_counter_deltas.columns]]
|
||||
name = "processed_at"
|
||||
type = "timestamp"
|
||||
nullable = true
|
||||
|
||||
[[table.usage_counter_deltas.indexes]]
|
||||
name = "ix_usage_counter_deltas_unprocessed"
|
||||
columns = ["created_at", "id"]
|
||||
|
||||
[[table.usage_counter_deltas.indexes]]
|
||||
name = "ix_usage_counter_deltas_processed"
|
||||
columns = ["processed_at", "created_at", "id"]
|
||||
|
||||
[[table.usage_counter_deltas.indexes]]
|
||||
name = "ix_usage_counter_deltas_request_kind"
|
||||
columns = ["request_id", "kind", "target_id"]
|
||||
|
||||
[table.usage_settlement_snapshots]
|
||||
domain = "usage"
|
||||
order = 20
|
||||
|
||||
Reference in New Issue
Block a user