Forum Discussion

Jonathan_Gibson's avatar
Jonathan_Gibson
Qrew Cadet
1 month ago
Solved

Identifying differences in a copy app?

As a solo developer often tasked with taking over ongoing projects in various stages of completion with either poor documentation or none at all, I spend a lot of time comparing copy apps with their originals to find the differences in order to inform how to proceed with a project.

Is there a way that I'm missing to not have to do this manually? For even a moderately sized app it is extremely time-consuming to have to check every single field, pipeline, etc in two places to see if they differ.

I don't need to see how they differ (manual review for that is reasonable), just whether they do. Essentially just a list of elements modified/created/deleted since the copy app was created is what I'm looking for. Is there a way to obtain this info?

  • Quickbase does not have a built-in tool to automatically show the differences between an original app and its copy. The best practical way is to use API_GetSchema (or export the app as a Solution) on both apps to pull their structure, then compare the exported files using a text/JSON diff tool like VS Code or Beyond Compare. This gives you a list of what’s been added, changed, or deleted. You can also do manual checks table-by-table, but the API method is much faster for medium to large apps.

2 Replies

  • Quickbase does not have a built-in tool to automatically show the differences between an original app and its copy. The best practical way is to use API_GetSchema (or export the app as a Solution) on both apps to pull their structure, then compare the exported files using a text/JSON diff tool like VS Code or Beyond Compare. This gives you a list of what’s been added, changed, or deleted. You can also do manual checks table-by-table, but the API method is much faster for medium to large apps.

  • This is awesome, I didn't know about API_GetSchema! It still feels like there should be a more comprehensive way of obtaining the data, especially since you have to run the call on each individual table if you want the field data, and this doesn't do anything for pipelines, but this will still be way faster than starting from scratch.

    For anyone else with a similar need, you can actually export an app's pipelines by going to App Properties > Connection Central > Export CSV, which will at least help you get an initial list to go by. Sadly, Connection Central doesn't seem to capture everything, for instance PLs that doesn't directly interact with the app (like a scheduled PL that calls a callable), and the csv doesn't provide links. For my use case I exported a csv from each app and then added both to a spreadsheet and did vlookup/index-match shenanigans to identify additions or deletions. I also constructed formula hyperlinks to the actual PLs based off the ids, which saved me a ton of time and allowed me to go straight to the actual substantive review.