mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-06 19:19:19 +02:00
Four ALTER TABLE / CREATE TABLE statements were applied locally but never deployed to the remote production database, causing: - acces.php → 500: share_links.is_archived missing (ShareLink::listActive/listArchived) - parametres.php → 500: smtp_settings.notify_email missing (SmtpRelay::getSettings) - /tfe?id=N → redirect-to-home: thesis_files.sort_order missing (getThesisFiles ORDER BY) - admin_audit_log table missing (AdminLogger::insertDb, best-effort but noisy) Adds four pending migrations (008–011) covering all missing schema changes. Adds 'deploy-migrate' just recipe to run migrations on the remote after deploy.
19 lines
845 B
SQL
19 lines
845 B
SQL
-- Migration 009: create admin_audit_log table
|
|
-- Mirrors every admin action logged to /var/log/xamxam.log.
|
|
-- Best-effort: application never fails if this table is absent, but the
|
|
-- table must exist for AdminLogger::insertDb() to write audit records.
|
|
CREATE TABLE IF NOT EXISTS admin_audit_log (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
ip TEXT NOT NULL,
|
|
user_agent TEXT,
|
|
resource TEXT NOT NULL,
|
|
action TEXT NOT NULL,
|
|
status TEXT NOT NULL,
|
|
context TEXT
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_admin_audit_log_created_at ON admin_audit_log(created_at);
|
|
CREATE INDEX IF NOT EXISTS idx_admin_audit_log_resource ON admin_audit_log(resource);
|
|
CREATE INDEX IF NOT EXISTS idx_admin_audit_log_action ON admin_audit_log(action);
|