You are developing a Snowflake Native Application that provides a data enrichment service. This service requires the consumer to grant the application access to a specific table in their account. You want to ensure that upgrades to your application do not inadvertently break existing consumer configurations. You decide to use a versioned schem a. Which of the following steps are essential during the setup script execution to achieve this and maintain backward compatibility during future upgrades?
Correct Answer: B,D
Options B and D are correct. Creating a versioned schema allows for managing changes in your application's data structures. By creating a secure view and granting the application role 'SELECT on it, you isolate your application from direct modifications to the consumer's table, ensuring backward compatibility. Option A is incorrect because an unversioned schema doesn't address the need for backward compatibility during upgrades. Option C is generally discouraged due to security concerns of granting ownership. Option E, while useful, is not the core reason to use a versioned schema to protect from consumer changes.