mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-03 01:40:21 +08:00
Add multi-database data layer
Introduce aether-data-schema and driver-specific schema generation for Postgres, MySQL, and SQLite. Split data backends, lifecycle, repositories, and gateway runtime integration across database drivers. Verified with cargo fmt --all --check, cargo clippy --workspace --all-targets -- -D warnings, and cargo test --workspace.
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
-- Generated by aether-data-schema from schema/logical/*.toml.
|
||||
-- Do not edit generated files directly; edit logical schema or explicit overrides instead.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.usage (
|
||||
request_id character varying(128) NOT NULL,
|
||||
id character varying(128),
|
||||
user_id character varying(64),
|
||||
api_key_id character varying(64),
|
||||
provider_name character varying(255) DEFAULT 'unknown' NOT NULL,
|
||||
model character varying(255) DEFAULT 'unknown' NOT NULL,
|
||||
target_model character varying(255),
|
||||
provider_id character varying(64),
|
||||
provider_endpoint_id character varying(64),
|
||||
provider_api_key_id character varying(64),
|
||||
request_type character varying(64),
|
||||
api_format character varying(64),
|
||||
api_family character varying(64),
|
||||
endpoint_kind character varying(64),
|
||||
endpoint_api_format character varying(64),
|
||||
provider_api_family character varying(64),
|
||||
provider_endpoint_kind character varying(64),
|
||||
has_format_conversion boolean DEFAULT false NOT NULL,
|
||||
is_stream boolean DEFAULT false NOT NULL,
|
||||
input_tokens bigint DEFAULT 0 NOT NULL,
|
||||
output_tokens bigint DEFAULT 0 NOT NULL,
|
||||
input_output_total_tokens bigint DEFAULT 0 NOT NULL,
|
||||
total_tokens bigint DEFAULT 0 NOT NULL,
|
||||
cache_creation_input_tokens bigint DEFAULT 0 NOT NULL,
|
||||
cache_creation_input_tokens_5m bigint DEFAULT 0 NOT NULL,
|
||||
cache_creation_input_tokens_1h bigint DEFAULT 0 NOT NULL,
|
||||
cache_creation_ephemeral_5m_input_tokens bigint DEFAULT 0 NOT NULL,
|
||||
cache_creation_ephemeral_1h_input_tokens bigint DEFAULT 0 NOT NULL,
|
||||
cache_read_input_tokens bigint DEFAULT 0 NOT NULL,
|
||||
input_context_tokens bigint DEFAULT 0 NOT NULL,
|
||||
input_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
output_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
cache_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
cache_creation_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
cache_creation_cost_usd_5m double precision DEFAULT 0 NOT NULL,
|
||||
cache_creation_cost_usd_1h double precision DEFAULT 0 NOT NULL,
|
||||
cache_read_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
request_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
actual_input_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
actual_output_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
actual_cache_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
actual_cache_creation_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
actual_cache_creation_cost_usd_5m double precision DEFAULT 0 NOT NULL,
|
||||
actual_cache_creation_cost_usd_1h double precision DEFAULT 0 NOT NULL,
|
||||
actual_cache_read_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
actual_request_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
rate_multiplier double precision DEFAULT 1 NOT NULL,
|
||||
input_price_per_1m double precision,
|
||||
output_price_per_1m double precision,
|
||||
cache_creation_price_per_1m double precision,
|
||||
cache_creation_price_per_1m_5m double precision,
|
||||
cache_creation_price_per_1m_1h double precision,
|
||||
cache_read_price_per_1m double precision,
|
||||
price_per_request double precision,
|
||||
status_code integer,
|
||||
error_message text,
|
||||
error_category character varying(255),
|
||||
response_time_ms bigint,
|
||||
first_byte_time_ms bigint,
|
||||
wallet_id character varying(64),
|
||||
status character varying(64) DEFAULT 'completed' NOT NULL,
|
||||
billing_status character varying(64) DEFAULT 'pending' NOT NULL,
|
||||
total_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
actual_total_cost_usd double precision DEFAULT 0 NOT NULL,
|
||||
request_headers jsonb,
|
||||
request_body jsonb,
|
||||
provider_request_headers jsonb,
|
||||
provider_request_body jsonb,
|
||||
response_headers jsonb,
|
||||
response_body jsonb,
|
||||
client_response_headers jsonb,
|
||||
client_response_body jsonb,
|
||||
request_body_compressed bytea,
|
||||
provider_request_body_compressed bytea,
|
||||
response_body_compressed bytea,
|
||||
client_response_body_compressed bytea,
|
||||
request_metadata jsonb,
|
||||
created_at bigint,
|
||||
candidate_id character varying(128),
|
||||
candidate_index bigint,
|
||||
key_name character varying(255),
|
||||
username character varying(255),
|
||||
api_key_name character varying(255),
|
||||
planner_kind character varying(64),
|
||||
route_family character varying(128),
|
||||
route_kind character varying(128),
|
||||
execution_path character varying(128),
|
||||
local_execution_runtime_miss_reason character varying(255),
|
||||
wallet_balance_before double precision,
|
||||
wallet_balance_after double precision,
|
||||
wallet_recharge_balance_before double precision,
|
||||
wallet_recharge_balance_after double precision,
|
||||
wallet_gift_balance_before double precision,
|
||||
wallet_gift_balance_after double precision,
|
||||
finalized_at bigint,
|
||||
created_at_unix_ms bigint DEFAULT 0 NOT NULL,
|
||||
updated_at_unix_secs bigint DEFAULT 0 NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE ONLY public.usage ADD CONSTRAINT usage_pkey PRIMARY KEY (request_id);
|
||||
CREATE INDEX IF NOT EXISTS usage_api_key_id_idx ON public.usage USING btree (api_key_id);
|
||||
CREATE INDEX IF NOT EXISTS usage_billing_status_idx ON public.usage USING btree (billing_status);
|
||||
CREATE INDEX IF NOT EXISTS usage_created_at_idx ON public.usage USING btree (created_at_unix_ms);
|
||||
CREATE INDEX IF NOT EXISTS usage_provider_api_key_id_idx ON public.usage USING btree (provider_api_key_id);
|
||||
CREATE INDEX IF NOT EXISTS usage_provider_id_idx ON public.usage USING btree (provider_id);
|
||||
CREATE INDEX IF NOT EXISTS usage_request_id_idx ON public.usage USING btree (request_id);
|
||||
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_settlement_snapshots (
|
||||
request_id character varying(128) NOT NULL,
|
||||
billing_status character varying(64) NOT NULL,
|
||||
wallet_id character varying(64),
|
||||
wallet_balance_before double precision,
|
||||
wallet_balance_after double precision,
|
||||
wallet_recharge_balance_before double precision,
|
||||
wallet_recharge_balance_after double precision,
|
||||
wallet_gift_balance_before double precision,
|
||||
wallet_gift_balance_after double precision,
|
||||
provider_monthly_used_usd double precision,
|
||||
finalized_at bigint,
|
||||
created_at bigint NOT NULL,
|
||||
updated_at bigint NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE ONLY public.usage_settlement_snapshots ADD CONSTRAINT usage_settlement_snapshots_pkey PRIMARY KEY (request_id);
|
||||
CREATE INDEX IF NOT EXISTS usage_settlement_snapshots_billing_status_idx ON public.usage_settlement_snapshots USING btree (billing_status);
|
||||
CREATE INDEX IF NOT EXISTS usage_settlement_snapshots_wallet_id_idx ON public.usage_settlement_snapshots USING btree (wallet_id);
|
||||
|
||||
Reference in New Issue
Block a user