2

We operate a website in AWS that uses Azure as the data source. Azure is populated by transactional replication from our customers. Once every 3 or 4 months a new version of the customer database is released. My company does not make this customer database. More often than not, the new version does not come with an update script and all the customer information is wiped and the new database version is freshly created.

How do I maintain an uninterrupted history of the customer data in the cloud through these updates? I see only two options: create a new database for each version, create a new schema for each version. The first will get expensive over time, the second feels hacky. If it's such a big deal should I just make my own update scripts?

1 Answer 1

1

Since you need to maintain historical data as well as database versioning, you could use flyway to create a baseline of your database and then migrate it to the new versions after you have the DDL to do so. Flyway will keep the version history for you, and you can see your upgrades using maven goals with your database profiles. You don't have to use maven though, you can use the command line interface flyway provides.

In essence it satisfies your second choice by using a tool so you can repeat the processes in different environments (e.g., DEV, QA, Staging, PROD). You would just use different profiles in your migration process.

Here is the software you will need: https://flywaydb.org

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .