3 ms·
* Are you already using a Database migration tool like https://flywaydb.org/ https://flywaydb.org/ or https://www.liquibase.org/ https://www.liquibase.org/ or s
by purerandomness 7y ago
* Are you already using a Database migration tool like https://flywaydb.org/ https://flywaydb.org/ or https://www.liquibase.org/ https://www.liquibase.org/ or something similar? If not, start here
* You have 18 services all using one database? Be aware that this pattern has the drawback that all of them are tightly coupled through the centralised database, and you might have a distributed monolith at hand. A typical symptom is that you have to release all services in lockstep.
Consider your resources and and see if actually having a monolith, or at least consolidating some services, possibly could lead to a better development experience.
* Use semantic versioning inside the services. Version additive changes to the schema (adding a column) by bumping the minor version and flag old code paths "deprecated".
Only remove columns that no other service is using once the code paths have been migrated from using the deprecated code paths, or use Feature Flags, like someone else mentioned.