I’m working on a project where I choose the database backend at deployment time. Specifically, I’m supporting MySQL and Oracle. As I’m developing and making changes to one database, I need to keep those changes in sync with several other databases. I had a self written tool from several years ago that did a comparison of Hibernate xml files to the jdbc metadata but I suppressed the urge to start reworking that code and did a search for “jdbc vendor independent schema compare” and found SchemaCrawler.
I also found a real nice looking commercial solution for about $399 a seat.
SchemaCrawler was definitely the right choice for my task. I think I had a learning curve of about an hour or so to get to finding my discrepancies and fixing them. I was gratified to see more than the basic information produced especially the primary, unique and foreign key definitions. I’m glad I resisted updating my code (although it would have been fun). It’s time to express gratitude for the time saved with a donation.