add queue support for archive delivery
This commit is contained in:
45
src/db/migrations/000008 - queue.sql
Normal file
45
src/db/migrations/000008 - queue.sql
Normal file
@@ -0,0 +1,45 @@
|
||||
-- DROP TABLE IF EXISTS public.queue_type CASCADE;
|
||||
CREATE TABLE public.queue_type (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
value TEXT NOT NULL UNIQUE,
|
||||
created_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_ts TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
CREATE INDEX idx__public__queue_type__value ON public.queue_type (value);
|
||||
CREATE INDEX idx__public__queue_type__created_ts ON public.queue_type (created_ts);
|
||||
CREATE INDEX idx__public__queue_type__updated_ts ON public.queue_type (updated_ts);
|
||||
|
||||
INSERT INTO public.queue_type (value) VALUES ('audit') ON CONFLICT DO NOTHING;
|
||||
|
||||
-- DROP TABLE IF EXISTS public.queue_url CASCADE;
|
||||
CREATE TABLE public.queue_url (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
value TEXT NOT NULL UNIQUE,
|
||||
next_run_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
created_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_ts TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
CREATE INDEX idx__public__queue_url__value ON public.queue_url (value);
|
||||
CREATE INDEX idx__public__queue_url__next_run_ts ON public.queue_url (next_run_ts);
|
||||
CREATE INDEX idx__public__queue_url__created_ts ON public.queue_url (created_ts);
|
||||
CREATE INDEX idx__public__queue_url__updated_ts ON public.queue_url (updated_ts);
|
||||
|
||||
|
||||
-- DROP TABLE IF EXISTS public.queue CASCADE;
|
||||
CREATE TABLE public.queue (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
queue_type_id BIGINT NOT NULL REFERENCES public.queue_type(id),
|
||||
queue_url_id BIGINT NOT NULL REFERENCES public.queue_url(id),
|
||||
headers JSON,
|
||||
data JSON,
|
||||
run_count BIGINT NOT NULL DEFAULT 0,
|
||||
last_fail TEXT,
|
||||
last_run_ts TIMESTAMPTZ,
|
||||
created_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_ts TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
CREATE INDEX idx__public__queue__queue_type_id ON public.queue (queue_type_id);
|
||||
CREATE INDEX idx__public__queue__run_count ON public.queue (run_count);
|
||||
CREATE INDEX idx__public__queue__last_run_ts ON public.queue (last_run_ts);
|
||||
CREATE INDEX idx__public__queue__created_ts ON public.queue (created_ts);
|
||||
CREATE INDEX idx__public__queue__updated_ts ON public.queue (updated_ts);
|
||||
Reference in New Issue
Block a user