CREATE TABLE IF NOT EXISTS user_auth_tokens ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, tenant_id INT NULL, token_type VARCHAR(40) NOT NULL, token_hash CHAR(64) NOT NULL, expires_at DATETIME NOT NULL, consumed_at DATETIME NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY uq_user_auth_tokens_hash (token_hash), KEY idx_user_auth_tokens_user_type (user_id, token_type, consumed_at, expires_at), KEY idx_user_auth_tokens_tenant (tenant_id), CONSTRAINT fk_user_auth_tokens_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE, CONSTRAINT fk_user_auth_tokens_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;