From c1247977ed1e55ab64bad707ca83137724aab909 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Sat, 3 May 2025 13:21:22 -0400 Subject: [PATCH] collab: Add new tables for subscription usages and meters (#29847) This PR adds two new tables: - `subscription_usages_v2` - `subscription_usage_meters_v2` These are the same as the old ones, except using UUIDs as primary keys. Release Notes: - N/A --- ...v2_subscription_usage_and_meter_tables.sql | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 crates/collab/migrations_llm/20250503162708_add_v2_subscription_usage_and_meter_tables.sql diff --git a/crates/collab/migrations_llm/20250503162708_add_v2_subscription_usage_and_meter_tables.sql b/crates/collab/migrations_llm/20250503162708_add_v2_subscription_usage_and_meter_tables.sql new file mode 100644 index 0000000000..59169d3c3e --- /dev/null +++ b/crates/collab/migrations_llm/20250503162708_add_v2_subscription_usage_and_meter_tables.sql @@ -0,0 +1,23 @@ +create table subscription_usages_v2 ( + id uuid primary key, + user_id integer not null, + period_start_at timestamp without time zone not null, + period_end_at timestamp without time zone not null, + plan text not null, + model_requests int not null default 0, + edit_predictions int not null default 0 +); + +create unique index uix_subscription_usages_v2_on_user_id_start_at_end_at on subscription_usages_v2 (user_id, period_start_at, period_end_at); + +create index ix_subscription_usages_v2_on_plan on subscription_usages_v2 (plan); + +create table subscription_usage_meters_v2 ( + id uuid primary key, + subscription_usage_id uuid not null references subscription_usages_v2 (id) on delete cascade, + model_id integer not null references models (id) on delete cascade, + mode text not null, + requests integer not null default 0 +); + +create unique index uix_subscription_usage_meters_v2_on_usage_model_mode on subscription_usage_meters_v2 (subscription_usage_id, model_id, mode);