29 lines
1.5 KiB
SQL
29 lines
1.5 KiB
SQL
-- DROP TABLE IF EXISTS public.usage_url CASCADE;
|
|
CREATE TABLE public.usage_url (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
url TEXT NOT NULL,
|
|
module TEXT NOT NULL,
|
|
created_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
CONSTRAINT uniq__usage_url__url_module UNIQUE (url, module)
|
|
);
|
|
CREATE INDEX idx__public__usage_url__url ON public.usage_url (url);
|
|
CREATE INDEX idx__public__usage_url__module ON public.usage_url (module);
|
|
CREATE INDEX idx__public__usage_url__created_ts ON public.usage_url (created_ts);
|
|
CREATE INDEX idx__public__usage_url__updated_ts ON public.usage_url (updated_ts);
|
|
|
|
-- DROP TABLE IF EXISTS public.usage CASCADE;
|
|
CREATE TABLE public.usage (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
user_id BIGINT NOT NULL REFERENCES public.user(id),
|
|
usage_url_id BIGINT NOT NULL REFERENCES public.usage_url(id),
|
|
success BOOLEAN NOT NULL DEFAULT TRUE,
|
|
created_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_ts TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
CREATE INDEX idx__public__usage__user_id ON public.usage (user_id);
|
|
CREATE INDEX idx__public__usage__usage_url_id ON public.usage (usage_url_id);
|
|
CREATE INDEX idx__public__usage__success ON public.usage (success);
|
|
CREATE INDEX idx__public__usage__created_ts ON public.usage (created_ts);
|
|
CREATE INDEX idx__public__usage__updated_ts ON public.usage (updated_ts);
|