Files
2026-10-18 19:27:17 -04:00

19 lines
713 B
SQL

-- Run once on the supplied users schema. Take a database backup first.
ALTER TABLE users ADD COLUMN user_auth_version INT UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE users ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS password_resets (
token_hash CHAR(64) CHARACTER SET ascii COLLATE ascii_bin NOT NULL PRIMARY KEY,
user_serial BIGINT UNSIGNED NOT NULL,
expires_at DATETIME NOT NULL,
INDEX (user_serial),
INDEX (expires_at)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS auth_attempts (
attempt_key CHAR(64) CHARACTER SET ascii COLLATE ascii_bin NOT NULL PRIMARY KEY,
attempts INT UNSIGNED NOT NULL DEFAULT 0,
window_started DATETIME NOT NULL,
INDEX (window_started)
) ENGINE=InnoDB;