summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/000_widen_tokens.sql10
-rw-r--r--sql/001_add_api_logs.sql14
2 files changed, 24 insertions, 0 deletions
diff --git a/sql/000_widen_tokens.sql b/sql/000_widen_tokens.sql
new file mode 100644
index 0000000..ed358b2
--- /dev/null
+++ b/sql/000_widen_tokens.sql
@@ -0,0 +1,10 @@
+-- Widen token columns and add separate timestamps.
+-- Run this before 001_add_api_logs.sql.
+
+-- Widen token columns (JWTs can exceed 255 chars).
+ALTER TABLE account MODIFY refresh_token TEXT DEFAULT NULL;
+ALTER TABLE account MODIFY access_token TEXT DEFAULT NULL;
+
+-- Add separate created timestamps if they do not exist.
+ALTER TABLE account ADD COLUMN IF NOT EXISTS refresh_token_created TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP;
+ALTER TABLE account ADD COLUMN IF NOT EXISTS access_token_created TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP;
diff --git a/sql/001_add_api_logs.sql b/sql/001_add_api_logs.sql
new file mode 100644
index 0000000..44c5622
--- /dev/null
+++ b/sql/001_add_api_logs.sql
@@ -0,0 +1,14 @@
+-- Add api_logs table for tracking article API request failures.
+-- Apply to the wikiapiserver database.
+
+CREATE TABLE IF NOT EXISTS api_logs (
+ id INT NOT NULL AUTO_INCREMENT,
+ created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
+ username VARCHAR(255) NOT NULL,
+ article_name VARCHAR(512) NOT NULL,
+ status_code INT NOT NULL,
+ response_time_ms INT NOT NULL,
+ error TEXT DEFAULT NULL,
+ request_url TEXT NOT NULL,
+ PRIMARY KEY (id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;