-- Tables affected: qt_configurations -- recovery.not-started: check first; ADD COLUMN fails if owner_username already exists -- recovery.partial: ALTER TABLE qt_configurations DROP COLUMN owner_username; -- recovery.completed: no action needed -- verify: owner_username column missing | SELECT 1 FROM information_schema.COLUMNS WHERE table_schema=DATABASE() AND table_name='qt_configurations' AND column_name='owner_username' HAVING COUNT(*)=0 -- Store configuration owner as username (instead of relying on numeric user_id) ALTER TABLE qt_configurations ADD COLUMN owner_username VARCHAR(100) NOT NULL DEFAULT '' AFTER user_id, ADD INDEX idx_qt_configurations_owner_username (owner_username); -- Backfill owner_username from qt_users for existing rows UPDATE qt_configurations c LEFT JOIN qt_users u ON u.id = c.user_id SET c.owner_username = COALESCE(u.username, c.owner_username) WHERE c.owner_username = '';