12 lines
466 B
SQL
12 lines
466 B
SQL
CREATE TABLE auth_login_failures (
|
|
subject_type text NOT NULL CHECK (subject_type IN ('account','ip')),
|
|
subject_hash text NOT NULL,
|
|
failed_count integer NOT NULL DEFAULT 0 CHECK (failed_count >= 0),
|
|
window_started_at timestamptz NOT NULL DEFAULT now(),
|
|
locked_until timestamptz,
|
|
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
PRIMARY KEY (subject_type, subject_hash)
|
|
);
|
|
|
|
CREATE INDEX auth_login_failures_cleanup_idx ON auth_login_failures(updated_at);
|