/** * Add CategoryID column to Items table */ response = { "OK": false }; try { // Check if column already exists qCheck = queryTimed(" SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'payfrit' AND TABLE_NAME = 'Items' AND COLUMN_NAME = 'CategoryID' ", {}, { datasource: "payfrit" }); if (qCheck.recordCount > 0) { response["OK"] = true; response["MESSAGE"] = "CategoryID column already exists"; } else { // Add the column queryTimed(" ALTER TABLE Items ADD COLUMN CategoryID INT NULL DEFAULT 0 AFTER ParentItemID ", {}, { datasource: "payfrit" }); // Add index for performance try { queryTimed(" CREATE INDEX idx_items_categoryid ON Items(CategoryID) ", {}, { datasource: "payfrit" }); } catch (any indexErr) { // Index might already exist } response["OK"] = true; response["MESSAGE"] = "CategoryID column added successfully"; } } catch (any e) { response["ERROR"] = "server_error"; response["MESSAGE"] = e.message; response["DETAIL"] = e.detail; } writeOutput(serializeJSON(response));