mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 17:30:23 +08:00
fix: cover portable migration tables in logical schema
This commit is contained in:
@@ -111,6 +111,63 @@ CREATE TABLE IF NOT EXISTS `usage` (
|
||||
KEY usage_wallet_id_idx (`wallet_id`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS usage_body_blobs (
|
||||
`body_ref` VARCHAR(160) NOT NULL,
|
||||
`request_id` VARCHAR(128) NOT NULL,
|
||||
`body_field` VARCHAR(64) NOT NULL,
|
||||
`payload_gzip` LONGBLOB NOT NULL,
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`body_ref`),
|
||||
UNIQUE KEY usage_body_blobs_request_id_field_key (`request_id`, `body_field`),
|
||||
KEY usage_body_blobs_request_id_idx (`request_id`),
|
||||
CONSTRAINT usage_body_blobs_request_id_fkey FOREIGN KEY (`request_id`) REFERENCES usage (`request_id`) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS usage_http_audits (
|
||||
`request_id` VARCHAR(128) NOT NULL,
|
||||
`request_headers` JSON,
|
||||
`provider_request_headers` JSON,
|
||||
`response_headers` JSON,
|
||||
`client_response_headers` JSON,
|
||||
`request_body_ref` VARCHAR(160),
|
||||
`provider_request_body_ref` VARCHAR(160),
|
||||
`response_body_ref` VARCHAR(160),
|
||||
`client_response_body_ref` VARCHAR(160),
|
||||
`request_body_state` VARCHAR(32),
|
||||
`provider_request_body_state` VARCHAR(32),
|
||||
`response_body_state` VARCHAR(32),
|
||||
`client_response_body_state` VARCHAR(32),
|
||||
`body_capture_mode` VARCHAR(32) NOT NULL DEFAULT 'none',
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`request_id`),
|
||||
KEY usage_http_audits_updated_at_idx (`updated_at`),
|
||||
CONSTRAINT usage_http_audits_request_id_fkey FOREIGN KEY (`request_id`) REFERENCES usage (`request_id`) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS usage_routing_snapshots (
|
||||
`request_id` VARCHAR(128) NOT NULL,
|
||||
`candidate_id` VARCHAR(160),
|
||||
`candidate_index` BIGINT,
|
||||
`key_name` VARCHAR(255),
|
||||
`planner_kind` VARCHAR(120),
|
||||
`route_family` VARCHAR(80),
|
||||
`route_kind` VARCHAR(80),
|
||||
`execution_path` VARCHAR(80),
|
||||
`local_execution_runtime_miss_reason` VARCHAR(120),
|
||||
`selected_provider_id` VARCHAR(64),
|
||||
`selected_endpoint_id` VARCHAR(64),
|
||||
`selected_provider_api_key_id` VARCHAR(64),
|
||||
`has_format_conversion` TINYINT(1),
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`request_id`),
|
||||
KEY ix_usage_routing_snapshots_route_family_kind (`route_family`, `route_kind`),
|
||||
KEY ix_usage_routing_snapshots_candidate_id (`candidate_id`),
|
||||
CONSTRAINT usage_routing_snapshots_request_id_fkey FOREIGN KEY (`request_id`) REFERENCES usage (`request_id`) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS usage_settlement_snapshots (
|
||||
`request_id` VARCHAR(128) NOT NULL,
|
||||
`billing_status` VARCHAR(64) NOT NULL,
|
||||
|
||||
@@ -18,6 +18,26 @@ CREATE TABLE IF NOT EXISTS stats_hourly (
|
||||
`aggregated_at` BIGINT,
|
||||
`created_at` BIGINT NOT NULL,
|
||||
`updated_at` BIGINT NOT NULL,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_hit_total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_hit_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_cache_hit_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_total_input_context` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`completed_cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`settled_total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`settled_total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_output_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_first_finalized_at_unix_secs` BIGINT,
|
||||
`settled_last_finalized_at_unix_secs` BIGINT,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_hourly_hour (`hour_utc`)
|
||||
);
|
||||
@@ -55,6 +75,19 @@ CREATE TABLE IF NOT EXISTS stats_hourly_user (
|
||||
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL,
|
||||
`updated_at` BIGINT NOT NULL,
|
||||
`cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`actual_total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`settled_total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_output_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_first_finalized_at_unix_secs` BIGINT,
|
||||
`settled_last_finalized_at_unix_secs` BIGINT,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_hourly_user (`hour_utc`, `user_id`)
|
||||
);
|
||||
@@ -70,6 +103,8 @@ CREATE TABLE IF NOT EXISTS stats_hourly_user_model (
|
||||
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL,
|
||||
`updated_at` BIGINT NOT NULL,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_hourly_user_model (`hour_utc`, `user_id`, `model`)
|
||||
);
|
||||
@@ -98,6 +133,8 @@ CREATE TABLE IF NOT EXISTS stats_hourly_model (
|
||||
`avg_response_time_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL,
|
||||
`updated_at` BIGINT NOT NULL,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_hourly_model (`hour_utc`, `model`)
|
||||
);
|
||||
@@ -146,6 +183,30 @@ CREATE TABLE IF NOT EXISTS stats_daily (
|
||||
`p50_first_byte_time_ms` BIGINT,
|
||||
`p90_first_byte_time_ms` BIGINT,
|
||||
`p99_first_byte_time_ms` BIGINT,
|
||||
`effective_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_input_context` BIGINT NOT NULL DEFAULT 0,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_5m_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_1h_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_hit_total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_hit_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_cache_hit_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_total_input_context` BIGINT NOT NULL DEFAULT 0,
|
||||
`completed_cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`completed_cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`settled_total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`settled_total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_output_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_first_finalized_at_unix_secs` BIGINT,
|
||||
`settled_last_finalized_at_unix_secs` BIGINT,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_daily_date (`date`)
|
||||
);
|
||||
@@ -163,6 +224,10 @@ CREATE TABLE IF NOT EXISTS stats_daily_model (
|
||||
`avg_response_time_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL,
|
||||
`updated_at` BIGINT NOT NULL,
|
||||
`cache_creation_ephemeral_5m_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_1h_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_daily_model (`date`, `model`)
|
||||
);
|
||||
@@ -230,7 +295,314 @@ CREATE TABLE IF NOT EXISTS stats_user_daily (
|
||||
`username` VARCHAR(255),
|
||||
`created_at` BIGINT NOT NULL,
|
||||
`updated_at` BIGINT NOT NULL,
|
||||
`actual_total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`effective_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_input_context` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_5m_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_1h_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`settled_total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_output_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`settled_first_finalized_at_unix_secs` BIGINT,
|
||||
`settled_last_finalized_at_unix_secs` BIGINT,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_daily (`date`, `user_id`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_user_summary (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(255),
|
||||
`cutoff_date` BIGINT NOT NULL,
|
||||
`all_time_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`all_time_success_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`all_time_error_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`all_time_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`all_time_output_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`all_time_cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`all_time_cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`all_time_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`all_time_actual_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`active_days` BIGINT NOT NULL DEFAULT 0,
|
||||
`first_active_date` BIGINT,
|
||||
`last_active_date` BIGINT,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_summary_user_id (`user_id`),
|
||||
KEY idx_stats_user_summary_cutoff_date (`cutoff_date`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_user_daily_model (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(255),
|
||||
`date` BIGINT NOT NULL,
|
||||
`model` VARCHAR(255) NOT NULL,
|
||||
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`success_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`effective_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_input_context` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_5m_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_1h_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`actual_total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`successful_response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`successful_response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_daily_model_user_id_date_model (`user_id`, `date`, `model`),
|
||||
KEY idx_stats_user_daily_model_date (`date`),
|
||||
KEY idx_stats_user_daily_model_user_id (`user_id`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_user_daily_provider (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(255),
|
||||
`date` BIGINT NOT NULL,
|
||||
`provider_name` VARCHAR(255) NOT NULL,
|
||||
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`success_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`effective_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_input_context` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_5m_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_1h_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`actual_total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`successful_response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`successful_response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_daily_provider_user_id_date_provider_name (`user_id`, `date`, `provider_name`),
|
||||
KEY idx_stats_user_daily_provider_date (`date`),
|
||||
KEY idx_stats_user_daily_provider_user_id (`user_id`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_user_daily_api_format (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(255),
|
||||
`date` BIGINT NOT NULL,
|
||||
`api_format` VARCHAR(255) NOT NULL,
|
||||
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`success_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`effective_input_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_input_context` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_5m_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_creation_ephemeral_1h_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`actual_total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`successful_response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`successful_response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_daily_api_format_user_id_date_api_format (`user_id`, `date`, `api_format`),
|
||||
KEY idx_stats_user_daily_api_format_date (`date`),
|
||||
KEY idx_stats_user_daily_api_format_user_id (`user_id`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_daily_model_provider (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`date` BIGINT NOT NULL,
|
||||
`model` VARCHAR(255) NOT NULL,
|
||||
`provider_name` VARCHAR(255) NOT NULL,
|
||||
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_daily_model_provider_date_model_provider_name (`date`, `model`, `provider_name`),
|
||||
KEY idx_stats_daily_model_provider_date (`date`),
|
||||
KEY idx_stats_daily_model_provider_date_model_provider (`date`, `model`, `provider_name`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_user_daily_model_provider (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(255),
|
||||
`date` BIGINT NOT NULL,
|
||||
`model` VARCHAR(255) NOT NULL,
|
||||
`provider_name` VARCHAR(255) NOT NULL,
|
||||
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_sum_ms` DOUBLE NOT NULL DEFAULT 0,
|
||||
`response_time_samples` BIGINT NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_daily_model_provider_user_id_date_model_provider_name (`user_id`, `date`, `model`, `provider_name`),
|
||||
KEY idx_stats_user_daily_model_provider_date (`date`),
|
||||
KEY idx_stats_user_daily_model_provider_user_date (`user_id`, `date`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_daily_cost_savings (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`date` BIGINT NOT NULL,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`estimated_full_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_daily_cost_savings_date (`date`),
|
||||
KEY idx_stats_daily_cost_savings_date (`date`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_daily_cost_savings_provider (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`date` BIGINT NOT NULL,
|
||||
`provider_name` VARCHAR(255) NOT NULL,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`estimated_full_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_daily_cost_savings_provider_date_provider_name (`date`, `provider_name`),
|
||||
KEY idx_stats_daily_cost_savings_provider_date (`date`),
|
||||
KEY idx_stats_daily_cost_savings_provider_date_provider (`date`, `provider_name`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_daily_cost_savings_model (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`date` BIGINT NOT NULL,
|
||||
`model` VARCHAR(255) NOT NULL,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`estimated_full_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_daily_cost_savings_model_date_model (`date`, `model`),
|
||||
KEY idx_stats_daily_cost_savings_model_date (`date`),
|
||||
KEY idx_stats_daily_cost_savings_model_date_model (`date`, `model`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_daily_cost_savings_model_provider (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`date` BIGINT NOT NULL,
|
||||
`model` VARCHAR(255) NOT NULL,
|
||||
`provider_name` VARCHAR(255) NOT NULL,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`estimated_full_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_daily_cost_savings_model_provider_date_model_provider_name (`date`, `model`, `provider_name`),
|
||||
KEY idx_stats_daily_cost_savings_model_provider_date (`date`),
|
||||
KEY idx_stats_daily_cost_savings_model_provider_date_dims (`date`, `model`, `provider_name`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_user_daily_cost_savings (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(255),
|
||||
`date` BIGINT NOT NULL,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`estimated_full_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_daily_cost_savings_user_id_date (`user_id`, `date`),
|
||||
KEY idx_stats_user_daily_cost_savings_date (`date`),
|
||||
KEY idx_stats_user_daily_cost_savings_user_date (`user_id`, `date`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_user_daily_cost_savings_provider (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(255),
|
||||
`date` BIGINT NOT NULL,
|
||||
`provider_name` VARCHAR(255) NOT NULL,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`estimated_full_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_daily_cost_savings_provider_user_id_date_provider_name (`user_id`, `date`, `provider_name`),
|
||||
KEY idx_stats_user_daily_cost_savings_provider_date (`date`),
|
||||
KEY idx_stats_user_daily_cost_savings_provider_user_date (`user_id`, `date`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_user_daily_cost_savings_model (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(255),
|
||||
`date` BIGINT NOT NULL,
|
||||
`model` VARCHAR(255) NOT NULL,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`estimated_full_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_daily_cost_savings_model_user_id_date_model (`user_id`, `date`, `model`),
|
||||
KEY idx_stats_user_daily_cost_savings_model_date (`date`),
|
||||
KEY idx_stats_user_daily_cost_savings_model_user_date (`user_id`, `date`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats_user_daily_cost_savings_model_provider (
|
||||
`id` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(255),
|
||||
`date` BIGINT NOT NULL,
|
||||
`model` VARCHAR(255) NOT NULL,
|
||||
`provider_name` VARCHAR(255) NOT NULL,
|
||||
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
||||
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`estimated_full_cost` DOUBLE NOT NULL DEFAULT 0,
|
||||
`created_at` BIGINT NOT NULL DEFAULT 0,
|
||||
`updated_at` BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY uq_stats_user_daily_cost_savings_model_provider_user_id_date_model_provider_name (`user_id`, `date`, `model`, `provider_name`),
|
||||
KEY idx_stats_user_daily_cost_savings_model_provider_date (`date`),
|
||||
KEY idx_stats_user_daily_cost_savings_model_provider_user_date (`user_id`, `date`)
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user