Skip to main content

## MIGRATION_002

# Constant MIGRATION_002

Source

    const MIGRATION_002: &str = r#"
    -- Remove access_token column from users table
    -- Tokens are now stored in secure storage (system keyring)

    -- SQLite doesn't support DROP COLUMN in older versions, so we recreate the table
    CREATE TABLE IF NOT EXISTS users_new (
        id TEXT PRIMARY KEY,
        server_id TEXT NOT NULL REFERENCES servers(id) ON DELETE CASCADE,
        username TEXT NOT NULL,
        is_active INTEGER DEFAULT 0,
        created_at TEXT DEFAULT CURRENT_TIMESTAMP,
        last_login_at TEXT,
        UNIQUE(server_id, username)
    );

    -- Copy existing data (excluding access_token)
    INSERT OR IGNORE INTO users_new (id, server_id, username, is_active, created_at, last_login_at)
    SELECT id, server_id, username, is_active, created_at, last_login_at FROM users;

    -- Drop old table and rename new one
    DROP TABLE IF EXISTS users;
    ALTER TABLE users_new RENAME TO users;
    "#;

Expand description

Migration to remove access_token column from users table Tokens are now stored in the system keyring (or encrypted file fallback)