20240806213401_create_usages.sql

 1create table usage_measures (
 2    id serial primary key,
 3    name text not null
 4);
 5
 6create unique index uix_usage_measures_on_name on usage_measures (name);
 7
 8create table if not exists usages (
 9    id serial primary key,
10    user_id integer not null,
11    model_id integer not null references models (id) on delete cascade,
12    measure_id integer not null references usage_measures (id) on delete cascade,
13    timestamp timestamp without time zone not null,
14    buckets bigint[] not null
15);
16
17create index ix_usages_on_user_id on usages (user_id);
18create index ix_usages_on_model_id on usages (model_id);
19create unique index uix_usages_on_user_id_model_id_measure_id on usages (user_id, model_id, measure_id);