We are migrating our application (including Flow Extensions, Discount Functions, and Theme Extensions) to the Next-gen Dev Platform and are preparing to run the required one-time interactive shopify app deploy to generate Extension User Identifiers (uid).
We have two critical questions regarding this mandatory first deployment:
1. Safety of UID Generation for Functions
We understand that the new uid is for deployment mapping (creation, update, or deletion) and should not be used for Function activation. Given this, is it safe to proceed with the initial deploy that generates and maps the uid for our Discount Functions? We want to confirm that generating the uid itself does not interfere with the current Function runtime.
2. Risk of Discount Configuration Loss
Our primary concern is data loss for existing merchant configurations. If the UID mapping for our Discount Functions fails during this interactive deploy (i.e., they are displayed as “new and removed” instead of “updated”), will this result in the deletion of the existing Function record on Shopify, subsequently wiping out any existing, user-configured discount settings tied to those Functions?
To ensure a successful mapping and guarantee that all our extensions (including Discount Functions) show as “updated,” what critical identifiers should we verify immediately before running the deploy (e.g., checking the extension handle or legacy .env identifiers like SHOPIFY_DISCOUNT_ID)?.
Thank you for your guidance on minimizing migration risk.
@Liam-Shopify are you able to advise on these concerns very well outlined by @ayaMatsu_Rewire Liam? Or are you able to ping this to someone who could advise? We have the exact same concerns - that an update here could either turn off or remove extensions in shops.
The risk of data loss is really no different than any other app deploy that you run. If you haven’t changed extension handles, or if you are using and source controlling the .env identifiers, your risk should be zero.
There’s certainly nothing stopping you from running app deploy and confirming that all your extensions show as updated (and not new and removed). If for whatever reason they do not, you can cancel the deploy at that stage, and assess why. The matching logic is described here.
If you haven’t seen it, I’d also recommend reviewing this article:
Thanks, this clarifies it. My understanding is that even if new uids are generated during the initial interactive deploy, as long as the deploy preview shows all of our extensions as “updated” (not “new” / “removed”), there’s no impact on the existing Function runtime or merchant discount configurations.