Investigation and Documentation: - Discovered and documented test database system on AD2 server - Created comprehensive TEST_DATABASE_ARCHITECTURE.md with full system details - Retrieved all key database files from AD2 (import.js, schema.sql, server configs) - Documented data flow: DOS machines → NAS → AD2 → SQLite → Web interface - Verified database health: 1,027,517 records, 1075 MB, dates back to 1990 Database System Architecture: - SQLite database with Node.js/Express.js web server (port 3000) - Automated import via Sync-FromNAS.ps1 (runs every 15 minutes) - 8 log types supported: DSCLOG, 5BLOG, 7BLOG, 8BLOG, PWRLOG, SCTLOG, VASLOG, SHT - FTS5 full-text search, comprehensive indexes for performance - API endpoints: search, stats, export, datasheet generation Troubleshooting Scripts Created: - Database diagnostics: check-db-simple.ps1, test-db-directly.ps1 - Server status checks: check-node-running.ps1, check-db-server.ps1 - Performance analysis: check-db-performance.ps1, check-wal-files.ps1 - API testing: test-api-endpoint.ps1, test-query.js - Import monitoring: check-new-records.ps1 - Database optimization attempts: api-js-optimized.js, api-js-fixed.js - Deployment scripts: deploy-db-optimization.ps1, deploy-db-fix.ps1, restore-original.ps1 Key Findings: - Database file healthy and queryable (verified with test-query.js) - Node.js server not running (port 3000 closed) - root cause of web interface issues - Database last updated 8 days ago (01/13/2026) - automated sync may be broken - Attempted performance optimizations (WAL mode) incompatible with readonly connections - Original api.js restored from backup after optimization conflicts Retrieved Documentation: - QUICKSTART-retrieved.md: Quick start guide for database server - SESSION_NOTES-retrieved.md: Complete session notes from database creation - Sync-FromNAS-retrieved.ps1: Full sync script with database import logic - import-js-retrieved.js: Node.js import script (12,774 bytes) - schema-retrieved.sql: SQLite schema with FTS5 triggers - server-js-retrieved.js: Express.js server configuration - api-js-retrieved.js: API routes and endpoints - package-retrieved.json: Node.js dependencies Action Items Identified: 1. Start Node.js server on AD2 to restore web interface functionality 2. Investigate why automated sync hasn't updated database in 8 days 3. Check Windows Task Scheduler for Sync-FromNAS.ps1 scheduled task 4. Run manual import to catch up on 8 days of test data if needed Technical Details: - Database path: C:\Shares\testdatadb\database\testdata.db - Web interface: http://192.168.0.6:3000 (when running) - Database size: 1075.14 MB (1,127,362,560 bytes) - Total records: 1,027,517 (slight variance from original 1,030,940) - Pass rate: 99.82% (1,029,046 passed, 1,888 failed) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
4.8 KiB
4.8 KiB
Test Data Database - Session Notes
Session Date: 2026-01-13
Project Overview
Created a SQLite database with Express.js web interface to consolidate, deduplicate, and search test data from multiple backup dates and test stations.
Project Location
C:\Shares\TestDataDB\
Original Request
- Search for serial numbers 176923-1 through 176923-26 in model DSCA38-1793
- Serial numbers were NOT found in any existing .DAT files (most recent logged: 173672-x, 173681-x from Feb 2025)
- User requested a database to consolidate all test data for easier searching
Data Sources
- HISTLOGS:
C:\Shares\test\Ate\HISTLOGS\(consolidated history) - Recovery-TEST:
C:\Shares\Recovery-TEST\(6 backup dates: 12-13-25 to 12-18-25) - Live Data:
C:\Shares\test\(~540K files) - Test Stations: TS-1L, TS-3R, TS-4L, TS-4R, TS-8R, TS-10L, TS-11L
File Types Imported
| Log Type | Description | Extension |
|---|---|---|
| DSCLOG | DSC product line | .DAT |
| 5BLOG | 5B product line | .DAT |
| 7BLOG | 7B product line (CSV format) | .DAT |
| 8BLOG | 8B product line | .DAT |
| PWRLOG | Power tests | .DAT |
| SCTLOG | SCT product line | .DAT |
| VASLOG | VAS tests | .DAT |
| SHT | Human-readable test sheets | .SHT |
Project Structure
TestDataDB/
├── package.json # Node.js dependencies
├── server.js # Express.js server (port 3000)
├── database/
│ ├── schema.sql # SQLite schema with FTS
│ ├── testdata.db # SQLite database file
│ └── import.js # Data import script
├── parsers/
│ ├── multiline.js # Parser for multi-line DAT files
│ ├── csvline.js # Parser for 7BLOG CSV format
│ └── shtfile.js # Parser for SHT test sheets
├── public/
│ └── index.html # Web search interface
├── routes/
│ └── api.js # API endpoints
└── templates/
└── datasheet.js # Datasheet generator
API Endpoints
GET /api/search?serial=...&model=...&from=...&to=...&result=...&q=...GET /api/record/:idGET /api/datasheet/:id- Generate printable datasheetGET /api/statsGET /api/export?format=csv
How to Use
Start the server:
cd C:\Shares\TestDataDB
node server.js
Then open http://localhost:3000 in a browser.
Re-run import (if needed):
cd C:\Shares\TestDataDB
node database/import.js
Database Schema
- Table:
test_records - Columns: id, log_type, model_number, serial_number, test_date, test_station, overall_result, raw_data, source_file, import_date
- Indexes on: serial_number, model_number, test_date, overall_result
- Full-text search (FTS5) for searching raw_data
Features
- Search - By serial number, model number, date range, pass/fail status
- Full-text search - Search within raw test data
- Export - CSV export of search results
- Datasheet generation - Generate formatted test data sheets from any record
- Statistics - Dashboard showing total records, pass/fail counts, date range
Import Status - COMPLETE
- Started: 2026-01-13T21:32:59.401Z
- Completed: 2026-01-13T22:02:42.187Z
- Total records: 1,030,940
Import Details:
| Source | Records Imported |
|---|---|
| HISTLOGS | 576,416 |
| Recovery-TEST/12-18-25 | 454,383 |
| Recovery-TEST/12-17-25 | 82 |
| Recovery-TEST/12-16 to 12-13 | 0 (duplicates) |
| test | 59 |
By Log Type:
- 5BLOG: 425,378
- 7BLOG: 262,404
- DSCLOG: 181,160
- 8BLOG: 135,858
- PWRLOG: 12,374
- VASLOG: 10,327
- SCTLOG: 3,439
By Result:
- PASS: 1,029,046
- FAIL: 1,888
- UNKNOWN: 6
Current Status
- Server running at: http://localhost:3000
- Database file:
C:\Shares\TestDataDB\database\testdata.db
Known Issues
- Model number parsing needs re-import to fix (parser was updated but requires re-import)
- To re-import: Delete testdata.db and run
node database/import.js
Search Results for Original Request
- Serial numbers 176923-1 through 176923-26: NOT FOUND (not yet tested)
- Most recent serial for DSCA38-1793: 173672-x and 173681-x (February 2025)
Next Steps
- Re-run import if model number search is needed (delete testdata.db first)
- When serial numbers 176923-1 to 176923-26 are tested, they will appear in the database
Notes
- TXT datasheets in
10D/datasheets/are NOT imported (can be generated from DB) - Deduplication uses: (log_type, model_number, serial_number, test_date, test_station)
- ~3,600 SHT files to import
- ~41,000+ DAT files across all log types