mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-11 05:30:19 +08:00
Align MySQL and SQLite schemas, migrations, usage, stats, export, and backfill behavior with the shared data contracts. Extend gateway startup and maintenance support across all SQL drivers.
600 lines
25 KiB
SQL
600 lines
25 KiB
SQL
-- Generated by aether-data-schema from crates/aether-data/runtime/schema/logical/*.toml.
|
|
-- Do not edit generated files directly; edit logical schema or explicit overrides instead.
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_hourly (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`hour_utc` BIGINT NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`success_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`error_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_creation_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,
|
|
`avg_response_time_ms` DOUBLE NOT NULL DEFAULT 0,
|
|
`is_complete` TINYINT(1) NOT NULL DEFAULT 0,
|
|
`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`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_summary (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`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,
|
|
`total_users` BIGINT NOT NULL DEFAULT 0,
|
|
`active_users` BIGINT NOT NULL DEFAULT 0,
|
|
`total_api_keys` BIGINT NOT NULL DEFAULT 0,
|
|
`active_api_keys` BIGINT NOT NULL DEFAULT 0,
|
|
`created_at` BIGINT NOT NULL,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_hourly_user (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`hour_utc` BIGINT NOT NULL,
|
|
`user_id` VARCHAR(64) NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`success_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`error_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`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`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_hourly_user_model (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`hour_utc` BIGINT NOT NULL,
|
|
`user_id` VARCHAR(64) NOT NULL,
|
|
`model` VARCHAR(255) NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`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`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS user_model_usage_counts (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`user_id` VARCHAR(64) NOT NULL,
|
|
`model` VARCHAR(255) NOT NULL,
|
|
`usage_count` BIGINT NOT NULL DEFAULT 0,
|
|
`created_at` BIGINT NOT NULL,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_user_model_usage_count (`user_id`, `model`),
|
|
KEY idx_user_model_usage_user (`user_id`),
|
|
KEY idx_user_model_usage_model (`model`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_hourly_model (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`hour_utc` BIGINT NOT NULL,
|
|
`model` VARCHAR(255) NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`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`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_hourly_provider (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`hour_utc` BIGINT NOT NULL,
|
|
`provider_name` VARCHAR(255) NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`created_at` BIGINT NOT NULL,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_hourly_provider (`hour_utc`, `provider_name`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_daily (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`date` BIGINT NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`success_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`error_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_creation_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,
|
|
`input_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`output_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`cache_creation_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`cache_read_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`avg_response_time_ms` DOUBLE NOT NULL DEFAULT 0,
|
|
`fallback_count` BIGINT NOT NULL DEFAULT 0,
|
|
`unique_models` BIGINT NOT NULL DEFAULT 0,
|
|
`unique_providers` BIGINT NOT NULL DEFAULT 0,
|
|
`is_complete` TINYINT(1) NOT NULL DEFAULT 0,
|
|
`aggregated_at` BIGINT,
|
|
`created_at` BIGINT NOT NULL,
|
|
`updated_at` BIGINT NOT NULL,
|
|
`p50_response_time_ms` BIGINT,
|
|
`p90_response_time_ms` BIGINT,
|
|
`p99_response_time_ms` BIGINT,
|
|
`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`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_daily_model (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`date` BIGINT NOT NULL,
|
|
`model` VARCHAR(255) NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`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,
|
|
`cache_creation_ephemeral_5m_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_creation_ephemeral_1h_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_daily_model (`date`, `model`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_daily_provider (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`date` BIGINT NOT NULL,
|
|
`provider_name` VARCHAR(255) NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`created_at` BIGINT NOT NULL,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_daily_provider (`date`, `provider_name`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_daily_api_key (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`api_key_id` VARCHAR(64) NOT NULL,
|
|
`date` BIGINT NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`success_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`error_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`api_key_name` VARCHAR(255),
|
|
`created_at` BIGINT NOT NULL,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_daily_api_key (`date`, `api_key_id`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_daily_error (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`date` BIGINT NOT NULL,
|
|
`error_category` VARCHAR(255) NOT NULL,
|
|
`provider_name` VARCHAR(255),
|
|
`model` VARCHAR(255),
|
|
`count` BIGINT NOT NULL DEFAULT 0,
|
|
`created_at` BIGINT NOT NULL,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_daily_error (`date`, `error_category`, `provider_name`, `model`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS stats_user_daily (
|
|
`id` VARCHAR(64) NOT NULL,
|
|
`user_id` VARCHAR(64) NOT NULL,
|
|
`date` BIGINT NOT NULL,
|
|
`total_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`success_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`error_requests` BIGINT NOT NULL DEFAULT 0,
|
|
`input_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`output_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_creation_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`cache_read_tokens` BIGINT NOT NULL DEFAULT 0,
|
|
`total_cost` DOUBLE NOT NULL DEFAULT 0,
|
|
`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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_user_daily_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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_user_daily_provider (`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(128) 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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_user_daily_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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_daily_model_provider (`date`, `model`, `provider_name`),
|
|
KEY idx_stats_daily_model_provider_date (`date`)
|
|
);
|
|
|
|
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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_user_daily_model_provider (`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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_daily_cost_savings_provider (`date`, `provider_name`),
|
|
KEY idx_stats_daily_cost_savings_provider_date (`date`)
|
|
);
|
|
|
|
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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_daily_cost_savings_model (`date`, `model`),
|
|
KEY idx_stats_daily_cost_savings_model_date (`date`)
|
|
);
|
|
|
|
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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_daily_cost_savings_model_provider (`date`, `model`, `provider_name`),
|
|
KEY idx_stats_daily_cost_savings_model_provider_date (`date`)
|
|
);
|
|
|
|
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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_user_daily_cost_savings (`user_id`, `date`),
|
|
KEY idx_stats_user_daily_cost_savings_date (`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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_user_daily_cost_savings_provider (`user_id`, `date`, `provider_name`),
|
|
KEY idx_stats_user_daily_cost_savings_provider_date (`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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_user_daily_cost_savings_model (`user_id`, `date`, `model`),
|
|
KEY idx_stats_user_daily_cost_savings_model_date (`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,
|
|
`updated_at` BIGINT NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY uq_stats_user_daily_cost_savings_model_provider (`user_id`, `date`, `model`, `provider_name`),
|
|
KEY idx_stats_user_daily_cost_savings_model_provider_date (`date`)
|
|
);
|
|
|