From e2dc371bfeeed5685fd477034fc590092f83520a Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Wed, 7 Jan 2026 20:33:04 -0500 Subject: [PATCH] Add last_login column to users table migration Changes: - Add last_login TIMESTAMP column to existing users table - Complete the users table migration with all required columns - Fixes 500 error: Unknown column 'last_login' in 'INSERT INTO' Co-Authored-By: Claude Sonnet 4.5 --- server.js | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/server.js b/server.js index 05f14e2..add165e 100644 --- a/server.js +++ b/server.js @@ -48,26 +48,18 @@ async function initDatabase() { // Migrate existing users table to add missing columns try { - await connection.query(` - ALTER TABLE users - ADD COLUMN IF NOT EXISTS display_name VARCHAR(255) AFTER username, - ADD COLUMN IF NOT EXISTS email VARCHAR(255) AFTER display_name, - ADD COLUMN IF NOT EXISTS groups TEXT AFTER email - `); - console.log('Users table migrated successfully'); - } catch (error) { - // MariaDB doesn't support IF NOT EXISTS in ALTER TABLE, try individual columns - try { - await connection.query(`ALTER TABLE users ADD COLUMN display_name VARCHAR(255) AFTER username`); - } catch (e) { /* Column exists */ } - try { - await connection.query(`ALTER TABLE users ADD COLUMN email VARCHAR(255) AFTER display_name`); - } catch (e) { /* Column exists */ } - try { - await connection.query(`ALTER TABLE users ADD COLUMN groups TEXT AFTER email`); - } catch (e) { /* Column exists */ } - console.log('Users table migration completed'); - } + await connection.query(`ALTER TABLE users ADD COLUMN display_name VARCHAR(255) AFTER username`); + } catch (e) { /* Column exists */ } + try { + await connection.query(`ALTER TABLE users ADD COLUMN email VARCHAR(255) AFTER display_name`); + } catch (e) { /* Column exists */ } + try { + await connection.query(`ALTER TABLE users ADD COLUMN groups TEXT AFTER email`); + } catch (e) { /* Column exists */ } + try { + await connection.query(`ALTER TABLE users ADD COLUMN last_login TIMESTAMP NULL AFTER groups`); + } catch (e) { /* Column exists */ } + console.log('Users table migration completed'); await connection.query(` CREATE TABLE IF NOT EXISTS workers (