Description
The application is experiencing TypeORM initialization errors on startup and has a bug in the auth data migration.
Errors Observed
-
TypeORM column errors during startup:
❌ TypeORM get-requisitions failed, falling back: no such column: Requisition.requester_id
❌ TypeORM get-purchase-orders failed, falling back: no such column: PurchaseOrder.order_number
-
Auth migration bug:
- File:
src/main/database/migrations/auth-data-migration.ts
- Line 351 references non-existent field:
requisition.createdBy = requisition.requestedBy || adminUserId;
- Should be:
requisition.createdBy = requisition.requesterId || adminUserId;
Root Cause
- Initialization Order Issue: TypeORM is attempting to query tables before better-sqlite3 has created them during startup
- Migration Bug: The auth data migration references
requestedBy but the Requisition entity only has requesterId
Impact
- The application still works due to the hybrid architecture's automatic fallback mechanism
- Error messages appear in logs but don't affect functionality
- The fallback to better-sqlite3 ensures continued operation
Proposed Solutions
- Fix auth migration bug: Change
requestedBy to requesterId in auth-data-migration.ts
- Fix initialization order: Ensure better-sqlite3 creates tables before TypeORM initialization
- Add existence check: Verify tables exist before TypeORM attempts queries
Technical Details
- TypeORM entity mappings are correct (camelCase to snake_case)
- Database schema definitions match entity mappings
- The hybrid architecture's fallback mechanism prevents actual failures
- Both
requester_id and order_number columns exist in the schema
Steps to Reproduce
- Start the application with
npm run dev
- Observe TypeORM errors in console during startup
- Note that application functions normally despite errors
Description
The application is experiencing TypeORM initialization errors on startup and has a bug in the auth data migration.
Errors Observed
TypeORM column errors during startup:
❌ TypeORM get-requisitions failed, falling back: no such column: Requisition.requester_id❌ TypeORM get-purchase-orders failed, falling back: no such column: PurchaseOrder.order_numberAuth migration bug:
src/main/database/migrations/auth-data-migration.tsrequisition.createdBy = requisition.requestedBy || adminUserId;requisition.createdBy = requisition.requesterId || adminUserId;Root Cause
requestedBybut the Requisition entity only hasrequesterIdImpact
Proposed Solutions
requestedBytorequesterIdin auth-data-migration.tsTechnical Details
requester_idandorder_numbercolumns exist in the schemaSteps to Reproduce
npm run dev