I have a testing database and a production database. I want to update/insert the changes that i did in the testing database.

I already read this post about database diffing:


I checked all the tools and found them not very appealing -> The main reason is that they are bloated and often confusing + i can not integrate them into my existing API.

So i'm looking for a tool/library that I can integrate into my existing Spring Boot API.

What are your recommendations?

I might need to explain a bit more what we are doing.

I am creating a Landing management system: With some JSON configuration I'm able to create Landingpages out of reusable React components.

These configuration should be done in a testing environment to see if the landingpages work. Then the configuration should be "transmitted" to the live database. Therefore it would be optimal to have a database diffing tool.

If you have other solutions to this problem it would be also good :)

  • 1
    By the way, prevention is a better route, using a database migration tool such as Flyway or Liquibase to automatically update a database instance with your intended changes. Diffing on a database is not a simple matter. – Basil Bourque Feb 27 '17 at 7:12
  • I agree with Basil. Diff'ing should be a one-time thing because it can never reliably work. I would never trust any diff'ing tool for production rollout of my changes. There is no way around using a proper schema migration tool like Liquibase or Flyway. Liquibase can be integrated into your Java program. For a proper migration setup just as well as for a one-shot diff – a_horse_with_no_name Feb 27 '17 at 12:56
  • See my edit please – Fabian Lurz Feb 27 '17 at 13:08
  • 1
    So you want to "diff" the data (=content) not the structure? – a_horse_with_no_name Feb 28 '17 at 16:16
  • Yes - i would like to diff the data (content) – Fabian Lurz Mar 17 '17 at 9:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.