diff options
| author | wikiapiserver | 2026-06-25 21:37:16 +0200 |
|---|---|---|
| committer | wikiapiserver | 2026-06-25 21:37:16 +0200 |
| commit | a67cf297df78521d1c2dee0dc2746a8046675b56 (patch) | |
| tree | e5c418e9e4cc0478137d5d2d3505187e8dff2c95 | |
| parent | 795fb7facf403f4e3d452d2e08ba11f98e8ee997 (diff) | |
| download | wikiapiserver-a67cf297df78521d1c2dee0dc2746a8046675b56.tar.gz | |
chore: add SQL migration files for production schema
- sql/000_widen_tokens.sql: widen token columns to TEXT, add
refresh_token_created and access_token_created timestamps
- sql/001_add_api_logs.sql: create api_logs table for request logging
| -rw-r--r-- | sql/000_widen_tokens.sql | 10 | ||||
| -rw-r--r-- | sql/001_add_api_logs.sql | 14 |
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; |
