top of page
Search
  • tigranus90

Database Schema Migrations For A Fraction Of Price



Database schema migrations are a fact of life for any project that is growing. As your project evolves, you may need to change your database schema to accommodate new features or to fix bugs.


Schema migrations are incredibly important when it comes to developing and deploying applications. By properly versioning your migrations, you can ensure that your database is always in a consistent state, and that you can roll back any migrations if necessary.

I was about to start a project and needed to decide what software will help me with schema migrations. I had two choices: use a pricey software that is well-known and has all the features I need, or find a software that has at least the bare-minimum feature set and costs less.


After some research, I found a new schema migration tool that meets all my needs and costs many times less than any of the well-known tools I used before. Rumba seems to have all major features I need to perform, tracks and logs the changes. It is a young but very promising project.


Migrations are everywhere


The several environments are involved in modern software development: development, testing, and production. So, here are a few of the key reasons why I would wish to utilize a tool to migrate database schemas between:


  • The process of transferring the schema from one environment to another should be automated. This can help ensure that the technique is followed correctly and consistently.

  • To keep track of how the schema has changed over time. This makes tracing and resolving any issues that may have emerged as a result of the schema changes much easier.

  • To limit the likelihood of a human error when updating schemas. This can help ensure that the database schema remains consistent over time.

The usage cost


When starting a project, one has to be aware that there are always risks and costs. While it is important to be mindful of the risks and costs associated with a project, it is also important to be realistic about the potential return on investment. In some cases, the investment may be too high for the potential return. In these cases, it may be best to find a different project to invest in.


This type of software may be rather costly; licensing price of the most advertised tools starts from $2000 in yearly subscription and this will postpone my potential investment return. At the same time, the most popular apps are bloated with unnecessary features and include a long list of supported databases that I will never use. Every time I use one, I seem to uncover a new function that I don't need and will never use. It's natural that it wants to be a one-stop shop, but it doesn't have to be.


Dependencies


Developers are increasingly turning to third-parties to help them streamline their work and save time on low-level tasks. However, this reliance on third-party code might be expensive. In certain cases, the third party you're working with isn't available, isn't well-supported, or isn't well-suited to the task at hand.


Worse, a dependency defect might cause major problems with my product. In instances like these, having software that isn't reliant on others may be quite useful.


An ideal tool must be self-contained and not require any third-party dependencies. This is important because it ensures that the tool will always be available and reliable, regardless of the environment or context in which it is used. It also eliminates the need to track down and install any additional software or libraries, which can be a time-consuming and frustrating process.


Conclusion


As you probably already guessed, I sought a solution that was reasonably priced, had no external dependencies, and offered the feature set I need for my projects. And I feel it is time to name a winner, with two of the most well-known market instruments becoming less appealing.


There are several tools available for database schema migration, however the most used solutions LiquiBase and Flyway both require Java installed. To utilize these tools, you must first install the JDBC driver and the Java Virtual Machine. At the same time, Rumba comes as a single, ready-to-run binary with no dependencies.


Also, the competitors have features I’ll never use. Some of them are doubtful, others are only good for development approaches that are different from mine. And I require only single database engine support because I always stay with PostgreSQL when I'm starting my next project.


Summarizing, Rumba mentioned above is far less expensive than its more promoted competitors, has all the essential features I need, and comes without third-party dependencies.

7 views0 comments
Post: Blog2_Post
bottom of page