The scenario is we have two Canvas environments, the production Canvas, and a test environment which is automatically refreshed every 3 weeks base on the production data.
When our users setup external tool assignments on production, pointing to our LTI tool, the launch URL is stored within the assignment.
When that data is migrated to Test environment, which is pointing to another launch URL, the value stored in the assignment is not automatically change when we modify the tool configuration.
This is because the linkage between tool configuration and assignment is via the launch URL rather than an identifier or ID. So when the lunch URL is changed in the tool config, essentially the tool is no longer exist from the assignment point of view.
My question is - is there an efficient way to update the launch URL stored in the assignments using Canvas API, other than looping through the course list, getting all the assignments and examine them one at the time to decide whether the change is required?