patternModerate
What practices or tools enable Continuous Deployment of Databases?
Viewed 0 times
enabledatabaseswhatpracticestoolsdeploymentcontinuous
Problem
Continuous Delivery or Continuous Deployment of infrastructure and code is comparatively simple compared to trying the same approaches for databases, specifically RDBMSs. Code and infrastructure will not change or evolve once deployment has completed. Databases, however, will have new data added to them making the data if not the schema inherently mutable components.
I am aware that there are practices such as only adding database objects, i.e. tables and columns, never modifying or removing them - this purely additive way of approaching database schemas has the advantage of ensuring that schemas are backwards compatible at the cost of successively more complicated schemas.
Equally there are products such as Flyway and Ready Roll which assist in writing migrations to be written between versions of a schema.
What other practices and tools exist currently to allow for continuous deployment of database schemas into a production environment where data integrity is of a concern?
I am aware that there are practices such as only adding database objects, i.e. tables and columns, never modifying or removing them - this purely additive way of approaching database schemas has the advantage of ensuring that schemas are backwards compatible at the cost of successively more complicated schemas.
Equally there are products such as Flyway and Ready Roll which assist in writing migrations to be written between versions of a schema.
What other practices and tools exist currently to allow for continuous deployment of database schemas into a production environment where data integrity is of a concern?
Solution
Pramod Sadalage and Scott Ambler wrote a book Refactoring Databases: Evolutionary Database Design that is an incredibly solid primer to the subject of DBs in a CD org/team.
Context
StackExchange DevOps Q#742, answer score: 15
Revisions (0)
No revisions yet.