Import is the only stage that actually changes any of your VirtualDJ files.
When to use it #
Once everything you need fixed has been validated and is ready to go.
What it does #
It writes every Validated row back into VirtualDJ, and, on the Database worksheet, removes every song marked Delete — updating the database, or whichever target file the repair covers, with the confirmed corrections. Before it touches anything, it backs up just the files it’s about to change — a lighter, targeted version of a full /backup, rather than a complete one.
Key arguments #
/repair:<target>/stage:import
Example command #
vdjtools /repair:database /stage:import
Example output #
Virtual DJ Tools (vBeta)
Copyright© 2024-2026 Quick Apps UK. All rights reserved
Build: 1.0.38.0
repair: database
stage: import
Database loaded: 11 songs from C:UsersDJOneDriveVirtualDJdatabase.xml
Database loaded: 1 songs from D:VirtualDJdatabase.xml
Database loaded: 33755 songs from E:VirtualDJdatabase.xml
Database loaded: 3133 songs from F:VirtualDJdatabase.xml
Database loaded: 0 songs from H:VirtualDJdatabase.xml
Validation complete: 7380 rows checked, 1571 ready to import
Importing database updates...
New database created for media on H: - H:VirtualDJdatabase.xml
Database saved: 1204 songs written to E:VirtualDJdatabase.xml
Database saved: 314 songs written to F:VirtualDJdatabase.xml
[Backup] Warning: file not found, skipping backup of 'H:VirtualDJdatabase.xml'.
Database saved: 53 songs written to H:VirtualDJdatabase.xml
After import #
Every row it applies is marked Imported, on every worksheet, so it’s never applied twice. After a database import, VDJTools tells you whether the database repair is complete; if it isn’t, it lists how many rows still need attention, by status. The database’s Imported rows are what the next steps build on:
- Folders, playlists and history: export them, then run CrossRef, which copies the imported fixes across. For example:
vdjtools /repair:playlists,history,folders /stage:crossref. Then finish each repair as normal. - Play counts: once history is repaired, run
/optimise:playcountto rebuild your database play counts from your history.
The Healthcheck‘s Next Steps always tell you what to run next.
Safety notes #
Because import only backs up the files it’s about to touch, Restore still works exactly as expected if something looks wrong afterwards — it isn’t limited to full backups. Run a Healthcheck once import’s finished to confirm the fix actually landed.
Common scenario #
A batch of validated database fixes gets written back in one go, and a follow-up Healthcheck shows the broken-reference count drop — proof the repair worked, rather than just hoping it did.