1
0
Fork 0
forked from 2sys/shoutdotdev
shoutdotdev/migrations/2025-03-09-042820_init_governors/up.sql

16 lines
629 B
SQL

CREATE TABLE governors (
id UUID PRIMARY KEY NOT NULL,
team_id UUID NOT NULL REFERENCES teams(id) ON DELETE CASCADE,
project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
window_size INTERVAL NOT NULL DEFAULT '1 hour',
max_count INT NOT NULL,
-- incremented when an entry is created; decremented when an entry expires
rolling_count INT NOT NULL DEFAULT 0
);
CREATE TABLE governor_entries (
id UUID PRIMARY KEY NOT NULL,
governor_id UUID NOT NULL REFERENCES governors(id) ON DELETE CASCADE,
timestamp TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX ON governor_entries(timestamp);