robdiciuccio opened a new issue #13351:
URL: https://github.com/apache/superset/issues/13351


   ## [SIP] Proposal for Database migration standards
   
   ### Motivation
   
   Reduce pain around metadata database migrations by ensuring standards are 
followed and appropriate reviews are obtained before merging.
   
   ### Proposed Change
   
   [SIP-57](https://github.com/apache/superset/issues/12566) (Semantic 
Versioning) introduced standards for avoiding breaking changes and general best 
practices for database migrations. The proposed changes below are in addition 
to those standards:
   
   - Migration files must have a functional `down` method to effectively 
rollback changes introduced in the `up` method.
   - Migrations should be configured to complete fully in a single run; any 
failures should trigger a rollback.
   - PRs introducing database migrations must include runtime estimates and 
downtime expectations.
   - Establish Github [code 
owners](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners)
 on the `superset/migrations` directory to ensure PMC members are notified of 
new or updated migrations.
   - Require **two** approvals for PRs that include database migrations, 
including committers from multiple organizations.
   
   ### New or Changed Public Interfaces
   
   None.
   
   ### New dependencies
   
   No additional package dependencies.
   
   ### Migration Plan and Compatibility
   
   Workflow changes only. Process for running migrations unchanged.
   
   ### Rejected Alternatives
   
   The status quo, which has resulted in quite a bit of thrash, deployment 
roadblocks and external discussions between Superset users.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to