From d1a93979f291172110728120a8b5c68d06c45832 Mon Sep 17 00:00:00 2001 From: cproudlock Date: Thu, 11 Dec 2025 17:09:44 -0500 Subject: [PATCH] Fix database schema documentation to match actual tables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix table names: pc_comm_config → commconfig, pc_dnc_config → dncconfig - Fix column name: communications.gateway → defaultgateway - Clarify printers uses 'ipaddress' while communications uses 'address' - Update CREATE TABLE statements to match actual schema - Add warranties table to QUICK_REFERENCE.md 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 4 ++- docs/API.md | 76 ++++++++++++++++++++++------------------- docs/QUICK_REFERENCE.md | 19 ++++++----- 3 files changed, 54 insertions(+), 45 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 616b9ef..e99d19c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -123,9 +123,11 @@ docker exec -it dev-mysql mysql -u root -prootpassword shopdb - Strings are 1-indexed, not 0-indexed ### Column Name Gotchas -- `address` not `ipaddress` in communications table +- `address` not `ipaddress` in communications table (but printers uses `ipaddress`) +- `defaultgateway` not `gateway` in communications table - `machinenotes` not `notes` in machines table - `machineid` not `pcid` for PCs in machines table +- `commconfig` and `dncconfig` tables (not pc_comm_config, pc_dnc_config) ### PC Identification PCs are in the machines table, identified by: diff --git a/docs/API.md b/docs/API.md index 9d07cdc..42b3776 100644 --- a/docs/API.md +++ b/docs/API.md @@ -86,10 +86,10 @@ This ASP API replaces the PHP api.php and provides the same functionality but ru 1. Insert/update record in `machines` table with `pctypeid IS NOT NULL` 2. Clear old network interfaces from `communications` 3. Insert new network interfaces to `communications` with `comstypeid = 1` -4. Clear old serial port configs from `pc_comm_config` -5. Insert new serial port configs to `pc_comm_config` -6. Clear old DNC config from `pc_dnc_config` -7. Insert new DNC config to `pc_dnc_config` +4. Clear old serial port configs from `commconfig` +5. Insert new serial port configs to `commconfig` +6. Clear old DNC config from `dncconfig` +7. Insert new DNC config to `dncconfig` 8. Create PC-to-equipment relationship in `machinerelationships` if `machineNo` provided 9. Update warranty data in `warranties` table @@ -338,7 +338,7 @@ This ASP API replaces the PHP api.php and provides the same functionality but ru ] ``` -**Stored in:** `pc_comm_config` table +**Stored in:** `commconfig` table --- @@ -362,7 +362,7 @@ This ASP API replaces the PHP api.php and provides the same functionality but ru } ``` -**Stored in:** `pc_dnc_config` table +**Stored in:** `dncconfig` table **Additional DNC fields sent as separate parameters:** - `dncDualPathEnabled` - true/false @@ -407,51 +407,55 @@ CREATE TABLE communications ( address VARCHAR(45), -- IP address macaddress VARCHAR(17), subnetmask VARCHAR(45), - gateway VARCHAR(45), + defaultgateway VARCHAR(45), interfacename VARCHAR(50), isprimary TINYINT(1), isactive TINYINT(1) ); ``` -#### pc_comm_config (Serial Port Configs) +#### commconfig (Serial Port Configs) ```sql -CREATE TABLE pc_comm_config ( - commconfigid INT(11) PRIMARY KEY AUTO_INCREMENT, - machineid INT(11), -- Changed from pcid - portname VARCHAR(50), - baudrate INT(11), +CREATE TABLE commconfig ( + configid INT(11) PRIMARY KEY AUTO_INCREMENT, + machineid INT(11), + configtype VARCHAR(50), + portid VARCHAR(20), + baud INT(11), databits INT(11), - parity VARCHAR(20), - stopbits VARCHAR(20), - flowcontrol VARCHAR(50) + parity VARCHAR(10), + stopbits VARCHAR(5), + ipaddress VARCHAR(45), + socketnumber INT(11), + additionalsettings TEXT, + lastupdated DATETIME ); ``` -#### pc_dnc_config (DNC Configuration) +#### dncconfig (DNC Configuration) ```sql -CREATE TABLE pc_dnc_config ( - dncconfigid INT(11) PRIMARY KEY AUTO_INCREMENT, - machineid INT(11), -- Changed from pcid - site VARCHAR(50), - cnc VARCHAR(50), +CREATE TABLE dncconfig ( + dncid INT(11) PRIMARY KEY AUTO_INCREMENT, + machineid INT(11), + site VARCHAR(100), + cnc VARCHAR(100), ncif VARCHAR(50), machinenumber VARCHAR(50), hosttype VARCHAR(50), ftphostprimary VARCHAR(100), ftphostsecondary VARCHAR(100), ftpaccount VARCHAR(100), - debug VARCHAR(50), - uploads VARCHAR(100), - scanner VARCHAR(50), - dripfeed VARCHAR(50), - additionalsettings VARCHAR(255), + debug VARCHAR(10), + uploads VARCHAR(10), + scanner VARCHAR(10), + dripfeed VARCHAR(10), + additionalsettings TEXT, dualpath_enabled TINYINT(1), - path1_name VARCHAR(100), - path2_name VARCHAR(100), + path1_name VARCHAR(255), + path2_name VARCHAR(255), ge_registry_32bit TINYINT(1), ge_registry_64bit TINYINT(1), - ge_registry_notes VARCHAR(255), + ge_registry_notes TEXT, lastupdated DATETIME ); ``` @@ -747,8 +751,8 @@ mysql -h 192.168.122.1 -u root -p shopdb < sql/migration_phase2/08_update_schema ``` This renames `pcid` → `machineid` in: -- `pc_comm_config` -- `pc_dnc_config` +- `commconfig` +- `dncconfig` ### Step 2: Deploy api.asp @@ -857,11 +861,11 @@ ALTER TABLE machines ADD INDEX idx_machinenumber (machinenumber); ALTER TABLE communications ADD INDEX idx_machineid (machineid); ALTER TABLE communications ADD INDEX idx_comstypeid (comstypeid); --- pc_comm_config table -ALTER TABLE pc_comm_config ADD INDEX idx_machineid (machineid); +-- commconfig table +ALTER TABLE commconfig ADD INDEX idx_machineid (machineid); --- pc_dnc_config table -ALTER TABLE pc_dnc_config ADD INDEX idx_machineid (machineid); +-- dncconfig table +ALTER TABLE dncconfig ADD INDEX idx_machineid (machineid); -- machinerelationships table ALTER TABLE machinerelationships ADD INDEX idx_machineid (machineid); diff --git a/docs/QUICK_REFERENCE.md b/docs/QUICK_REFERENCE.md index 6cad33a..22733a6 100644 --- a/docs/QUICK_REFERENCE.md +++ b/docs/QUICK_REFERENCE.md @@ -50,11 +50,11 @@ machines (machineid, hostname, serialnumber, alias, machinenumber, pctype (pctypeid, typename) -- Values: Standard, Engineer, Shopfloor, CMM, Wax Trace, etc. --- PC Communication Config (serial ports) -pc_comm_config (commconfigid, machineid, portname, baudrate, databits, parity, stopbits) +-- Communication Config (serial ports for equipment) +commconfig (configid, machineid, configtype, portid, baud, databits, parity, ipaddress) --- PC DNC Config -pc_dnc_config (dncconfigid, machineid, site, cnc, ncif, dualpath_enabled, path1_name, path2_name) +-- DNC Config +dncconfig (dncid, machineid, site, cnc, ncif, dualpath_enabled, path1_name, path2_name) -- PC-to-Equipment Relationships machinerelationships (relationshipid, machineid, related_machineid, relationshiptypeid) @@ -63,9 +63,9 @@ machinerelationships (relationshipid, machineid, related_machineid, relationship ### Network & Communications ```sql --- All network interfaces (replaces pc_network_interfaces) +-- All network interfaces communications (comid, machineid, comstypeid, address, macaddress, - subnetmask, gateway, interfacename, isprimary, isactive) + subnetmask, defaultgateway, interfacename, isprimary, isactive) -- comstypeid 1 = Network Interface -- NOTE: Column is 'address' not 'ipaddress' @@ -97,11 +97,14 @@ knowledgebase (linkid, shortdescription, keywords, applicationid, linkurl, click ### Infrastructure ```sql -- Printers (separate table, not in machines) -printers (printerid, printercsfname, modelid, serialnumber, address, fqdn, isactive) --- NOTE: Column is 'address' not 'ipaddress' +printers (printerid, printercsfname, modelid, serialnumber, ipaddress, fqdn, isactive) +-- NOTE: Printers use 'ipaddress' (unlike communications which uses 'address') -- Notifications notifications (notificationid, notification, starttime, endtime, isactive, notificationtypeid) + +-- Warranties +warranties (warrantyid, machineid, enddate, servicelevel, status, daysremaining) ``` ### Reference Data