DEV Community

Marco Mannucci
Marco Mannucci

Posted on

1 1

How do you cope with database migration?

I find databases (mostly the relational one) to be one of the components more adverse to change in a software system. That's even worse if there some kind of ORM between the tables and the data model in our application.

There's always some resistence in altering a database, especially in a consolidated product that is already live in production.

With database migration I mean every operation needed to handle the porting of a database from its current version to some new version, maybe after introducing some new feature in the app that impact the data schema.

So I'm talking about versioning, scripts, data import and update, dedicated automation etc.

I'm a long time user of Liquibase for this kind of stuff, but I find it a little cumbersome in its usage and painfully slow when there are lot of migrations to analyze (I'm using it in it's Groovy flavour, maybe it depends on that).

Recently I explored Active Record migration and found it quite refreshing, although I think it's a bit tied to Rails (where Liquibase it's more obiquitous).

I'm curious to hear what are your tools and strategies to cope with database migration.

API Trace View

How I Cut 22.3 Seconds Off an API Call with Sentry ๐Ÿ‘€

Struggling with slow API calls? Dan Mindru walks through how he used Sentry's new Trace View feature to shave off 22.3 seconds from an API call.

Get a practical walkthrough of how to identify bottlenecks, split tasks into multiple parallel tasks, identify slow AI model calls, and more.

Read more โ†’

Top comments (0)

Sentry image

See why 4M developers consider Sentry, โ€œnot bad.โ€

Fixing code doesnโ€™t have to be the worst part of your day. Learn how Sentry can help.

Learn more

๐Ÿ‘‹ Kindness is contagious

Please leave a โค๏ธ or a friendly comment on this post if you found it helpful!

Okay