Hi guys β sharing a little story from a recent project
I recently built a custom tool that works with the Knack REST API to reorganize uploaded files in a live production app β moving them between tables while preserving all their metadata and connections. Files are by far the most tedious thing to handle manually in Knack (download, re-upload, re-link, repeatβ¦), but the same approach works for any kind of record restructuring.
The kind of thing you end up needing when you inherit a poorly structured database, or when your app has grown organically over the years and the data model could use a rework for clarity. To be clear: nothing gets deleted β records and files are simply moved from one place to another, so the structure becomes easier to understand and maintain.
Hereβs the gist:
- What it did: moved ~1,200 files between tables, copied over all the metadata, and rewired the connections β all in one automated pass
- How long: about 55 minutes of actual run time, zero manual intervention, zero errors
- API usage: around 3,700 calls. Not nothing β but honestly a drop in the bucket compared to the days of manual clicking this would have taken otherwise
- Safe to roll out: a dry-run mode and a record-limit option let me test on 1, then 3, then 30 records and verify everything in the builder before committing to the full batch. You only go full speed once youβre confident
- Fully resumable: progress is tracked on the source records themselves, so you can stop anytime, inspect, resume, and never risk double-processing
If any of you have a Knack app that needs this kind of surgery β data migrations, restructuring, field consolidation, or reorganizing after years of organic growth β feel free to reach out. Happy to chat about it.
Works with both Classic and Next-Gen.
Normand
Cortex R&D Inc.