WeLink Airtable → TruxFlow Migration

Complete Data Migration Dashboard
Completed: April 8, 2026 | Organization: WeLink Cargo Enterprise
900
Records Migrated
1,900
Documents Uploaded
187
Assignments Created
31
New Schema Fields
226
Credentials
18
Carriers
100%
Success Rate

Migration Timeline

10:00 AM
Project Initialized
Airtable API connected, schema discovery began
10:30 AM
Carriers Mapped & Migrated
18 carriers with 68 documents, 33 credential sets
11:00 AM
Units Field Mapping
5 new fields added: eldStatus, fuelCardStatus, titleOwnershipIssueDate, dispatcherNotes, onboardingNotes
11:30 AM
Drivers Field Mapping
5 new fields added: orientationDate, hiredDate, cleanBackground, cdlRestriction, showLoadRate
12:00 PM
Trailers Field Mapping
10 new fields added including lease tracking, pickup/return logistics
12:30 PM
Schema Updates Applied
Prisma migration executed, 31 new fields across 4 models
1:00 PM
Migration Scripts Created
Python scripts for each entity with document handling
1:30 PM
Full Migration Executed
All entities migrated with carrier linking
2:00 PM
Validation & Fixes
Driver types, SSN documents, 49 bad docs cleaned
2:30 PM
Assignments & Contractors
149 driver-truck, 38 trailer-truck assignments; 115 contractors created
3:00 PM
Credentials Migration
226 credentials migrated with carrier mapping and department assignments

Migration Milestones

1
Carriers
18 migrated | 68 documents | 33 credentials | 0 skipped
Complete
2
Trucks / Units
199 migrated | 639 documents | 41 skipped (duplicates)
Complete
3
Drivers
235 migrated | 950 documents | 149 truck assignments | 115 contractors
Complete
4
Trailers
74 migrated | 243 documents | 38 truck assignments | 4 skipped (duplicates)
Complete
5
Credentials
226 migrated | 13 carriers | 5 department types | 8 skipped (no carrier)
Complete

Schema Changes (31 New Fields)

Carrier Model (11 fields)

insuranceCompany
String? (optional)
← Airtable: Insurance Company Name
insuranceAgentCompany
String? (optional)
← Airtable: Insurance Agent Company
insuranceAgentName
String? (optional)
← Airtable: Insurance Agent Name
insuranceAgentPhone
String? (optional)
← Airtable: Insurance Agent Phone
insuranceAgentEmail
String? (optional)
← Airtable: Insurance Agent Email
coiWebsite
String? (optional)
← Airtable: COI Website
scacCode
String? (optional)
← Airtable: SCAC Code
dispatchPhone
String? (optional)
← Airtable: Dispatch Phone
highwayTextPhone
String? (optional)
← Airtable: Highway Text Phone
carriersDeductions
String? (optional)
← Airtable: Carriers Deductions
driverAppLink
String? (optional)
← Airtable: Driver App Link

Truck Model (5 fields)

eldStatus
String? (optional)
← Airtable: ELD Status
fuelCardStatus
String? (optional)
← Airtable: Fuel Card Status
titleOwnershipIssueDate
DateTime? (optional)
← Airtable: Title Ownership Issue Date
dispatcherNotes
String? (optional)
← Airtable: Dispatcher Notes
onboardingNotes
String? (optional)
← Airtable: Onboarding Notes

Driver Model (5 fields)

orientationDate
DateTime? (optional)
← Airtable: Orientation Date
hiredDate
DateTime? (optional)
← Airtable: Hired Date
cleanBackground
String? (optional)
← Airtable: Clean Background (Yes/No)
cdlRestriction
String? (optional)
← Airtable: CDL Restriction
showLoadRate
Boolean? @default(false)
← Airtable: Show Load Rate to Driver

Trailer Model (10 fields)

trailerYear
Int? (optional)
← Airtable: Year
suspension
String? (optional)
← Airtable: Suspension Type
hubmeterReading
String? (optional)
← Airtable: Hubmeter Reading
leaseCompanyId
String? (optional)
← Airtable: Lease Company (→ Contractor)
rentalAgreementNumber
String? (optional)
← Airtable: Rental Agreement #
pickupDate
DateTime? (optional)
← Airtable: Pickup Date
pickupLocation
String? (optional)
← Airtable: Pickup Location
returnLocation
String? (optional)
← Airtable: Return Location
returnedDate
DateTime? (optional)
← Airtable: Returned Date
dateToBeReturned
DateTime? (optional)
← Airtable: Date to be Returned

Records by Carrier

Carrier Trucks Drivers Trailers Total
AAF Transport 18 17 10 45
Archived 85 104 37 226
D&R GLOBAL ENTERPRISES LLC 1 1 1 3
ETHIO SAREF TRANSPORTATION LLC 1 1 0 2
Fair Deal 6 5 0 11
Goodmen Logistics 12 10 0 22
Highland Dallas Freight, Inc 2 2 2 6
K & M BATTLE TRANSPORT LLC 1 0 0 1
Legend Express Trucking INC 2 2 0 4
MW Trucking 38 43 10 91
SSMK Logistics 30 43 12 85
Tested Trucking LLC 3 4 1 8
Yahbra 0 3 0 3
TOTAL 199 235 74 508

Credentials Migration (226 Records)

Field Mapping

Airtable Field TruxFlow Field
Descriptiontitle
Usernameusername
Passwordpassword
Linkurl
Notesnotes
CarrierscarrierId
Departmentsdepartments[]

Department Mapping

Airtable TruxFlow Enum
DispatchDISPATCH
SafetySAFETY
OperationsOPERATIONS
AccountingACCOUNTING
RecruitingRECRUITING

Credentials by Carrier

Carrier Count
SSMK Logistics50
AAF Transport48
MW Trucking47
Legend Express Trucking INC18
Tested Trucking LLC18
Yahbra12
D&R GLOBAL ENTERPRISES LLC12
ETHIO SAREF TRANSPORTATION LLC10
MESMAR TRUCKING INC4
Archived3
Highland Dallas Freight, Inc2
St8tewide LLC1
Fair Deal1
TOTAL226

Document Types Migrated

Entity Document Types
Carriers MC_CERTIFICATE, W9, NOA, COI, SAFETY_LETTER, OTHER
Trucks OWNERSHIP, TITLE_RECEIPT, STATE_INSPECTION, DOT_INSPECTION, CAB_CARD, FORM_2290, LEASE_AGREEMENT, PLATE, MAINTENANCE, W9, PICTURES, VIN_STICKER, SCALE_TICKET, SAFETY_EQUIPMENT, LOGBOOK, FIRE_EXTINGUISHER, LICENSE_PLATE, LIGHTS_VIDEO, BREAKAWAY_CABLE, RPO_REGISTRATION
Drivers MEDICAL_CARD, MVR, PSP, CLEARINGHOUSE, DRUG_TEST, CDL_FRONT, CDL_BACK, TWIC_CARD, APPLICATION, SSN, SSN_DOC, W9, TERMINATION_LETTER, INSURANCE_REMOVAL
Trailers TRAILER_PICTURES, DOT_INSPECTION, TITLE, RENTAL_AGREEMENT, REGISTRATION, STATE_INSPECTION, PLATE, SCALE_TICKET

Post-Migration Fixes

Fix Count
Driver Types Updated 235
SSN Documents Uploaded 17
Driver-Truck Assignments 149
Trailer-Truck Assignments 38
Owner Operator Contractors 115
Bad Documents Cleaned 49

Data Quality Verification

Check Status
All required fields populated Passed
All records linked to carrier Passed
No documents with bad URLs Passed
Driver-truck assignments created Passed
Trailer-truck assignments created Passed
Owner Operator contractors synced Passed
Driver type values match frontend Passed

Unmigrated Drivers (21 - Manual Entry Required)

These drivers have no CDL# and no email, preventing automatic deduplication:

# Name Phone Type
1Safig Hanna(404)914-2839Company Driver
2Shalena Forgin(949) 233-6139Owner Operator
3David Garduno+12142408267Owner Operator
4Willie Jackson(972) 795-2024Owner Operator
5Willie Jackson(972) 795-2024Owner Operator
6Jose Peralata(214) 579-1871Owner Operator
7Adam Abrahm--
8Lateef Vaughan(754) 422-5985Owner Operator
9Christine Boyett(936) 439-7040Company Driver
10Aman Fsahye(206) 234-4888Owner Operator
11Mohamed Moulay--
12Dwayne Detarviar-Owner Operator
13Alex Redfield(587) 696-586Owner Operator
14Dwayne Howard(469) 271-1385Owner Operator
15Rafael Torres(469) 595-6369Company Driver
16Hugo Moreno(469) 350-2063Company Driver
17Dennis Tucker-Owner Operator
18Roytez Jackson+1 318 537 0327Company Driver
19JOEL GOMEZ MORILLON(806) 433-4619Owner Operator
20Bruce Norris(310) 562-9715Owner Operator
21Rodriguez Ramon(432) 803-1954Owner Operator

Technical Configuration

Source (Airtable)

Base IDappgkNoBxps3vytbs
Base NameWeLink-Dispatch
Carriers TabletblzMTF3LeUAIOBUL
Units Tabletblav6peuPlIwP8wg
Drivers TabletbldwlXQlfx1qwRDP
Trailers TabletblwGQQ9EomlBiM25

Target (TruxFlow)

Organization IDcmnnpxvzf009dlaby1k9jo2d6
DatabasePostgreSQL (truxflow_staging)
File StorageLinode S3 (trux-flow bucket)
ORMPrisma v6.17

Migration Scripts

Script Purpose Location
migrate_carriers.py Carriers + documents + credentials /root/welink-airtable/
migrate_units.py Trucks + documents /root/welink-airtable/
migrate_drivers.py Drivers + documents /root/welink-airtable/
migrate_trailers.py Trailers + documents /root/welink-airtable/
migrate_all.py Master orchestrator /root/welink-airtable/
migrate_archived.py Orphan records → Archived carrier /root/welink-airtable/
migrate_credentials.py Credentials with carrier + department mapping /root/welink-airtable/