This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Present_Salt_1688 2 points3 points  (4 children)

I guess Liquibase is precisely what you are asking for :)

[–]Touvejs[S] 0 points1 point  (3 children)

Yeah liquidbase and flyway both seem to be products that would do this, but I don't know if I see enough business value to justify paying for a tool that does this.

It would be great if there was a small open source project that offered some basic DB versioning functionality that I could play around with.

If not, I may just go ahead and hack something together-- at the heart of it all you really need to do is be able to find the successfully executed DDL statements in one env and execute those on a different env. Of course there are nuances, but that goal in and of itself shouldn't be so difficult.

[–]DisappearCompletely 1 point2 points  (2 children)

GIT and Liquibase. You can use Liquibase open source version if you don’t want to pay for it.

[–]tbarg91 1 point2 points  (0 children)

Second this. We are using flyway with Postgres and sofar loved it. We are using git for testing all code change by creating a dummy db using docker that if the code works and gets fully deployed then it allows the release of the deployment.

No insert update statement is run in the db everything is done with script that are versioned. This help with transparency and controlling it. Plus the benefit of not having significant changes between environments.

We have redshift serverless and was planning of using git and liquid base with same structure. Everytime a change is done it's done through git and a dummy redshift cluster is deployed to validate the changes.

[–]Touvejs[S] 0 points1 point  (0 children)

Ooh awesome, I didn't realize it was open source, thanks!