26 lines
1 KiB
SQL
26 lines
1 KiB
SQL
ALTER TABLE users ADD COLUMN display_name TEXT;
|
|
ALTER TABLE users ADD COLUMN active INTEGER NOT NULL DEFAULT 1;
|
|
ALTER TABLE users ADD COLUMN last_login_at TEXT;
|
|
ALTER TABLE users ADD COLUMN updated_at TEXT NOT NULL DEFAULT (datetime('now'));
|
|
ALTER TABLE users ADD COLUMN failed_attempts INTEGER NOT NULL DEFAULT 0;
|
|
ALTER TABLE users ADD COLUMN locked_until TEXT;
|
|
|
|
ALTER TABLE animal_history ADD COLUMN user_id INTEGER REFERENCES users(id) ON DELETE SET NULL;
|
|
ALTER TABLE care_rounds ADD COLUMN performed_by_user_id INTEGER REFERENCES users(id) ON DELETE SET NULL;
|
|
|
|
CREATE TABLE audit_log (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
user_id INTEGER,
|
|
action TEXT NOT NULL,
|
|
method TEXT NOT NULL,
|
|
path TEXT NOT NULL,
|
|
entity_type TEXT,
|
|
entity_id INTEGER,
|
|
summary TEXT,
|
|
metadata TEXT,
|
|
ip_address TEXT,
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE SET NULL
|
|
);
|
|
CREATE INDEX idx_audit_log_created ON audit_log(created_at DESC);
|
|
CREATE INDEX idx_audit_log_user ON audit_log(user_id,created_at DESC);
|