Table Of Contents

Next topic

Gerald User Guide

This Page

Gerald the half a schema

A Python Schema Comparison Tool

Gerald is a general purpose database schema toolkit written in Python. It can be used for cataloguing, managing and deploying database schemas. It is designed to allow you to easily identify the differences between databases.

You can use Gerald to determine the differences between your development and test environments, or to integrate changes from a number of different developers into your integration database.

You can use Gerald to compare schemas across different database engines (e.g. Oracle and MySQL), you can also use it to produce database agnostic documentation in text or XML.

Gerald is designed from the ground up to support as many popular relational database systems as possible. Currently it will document and compare schemas from databases implemented in MySQL, Oracle and PostgreSQL. Other databases will be supported in future releases.

Future Plans

This is release 0.4.1 of Gerald. It’s still alpha code, but I use it all of the time. Having said that, I’m fairly happy with the current functionality so I will only change it if I absolutely have to, and then usually to extend the features available. This is a minor release with a few bug fixes, improvements and tidying up of the code. It fixes a number of bugs. The main purpose of this release is to fix the installation process when using easy_install. Full details can be found in the CHANGELOG.txt file provided with the code.

The core function is fairly solid and will support a number of enhancements. I’m specifically thinking about, but in no particular order;

  • Improvements to the comparison algorithms
  • SQL Server support
  • SQLite support
  • Firebird support
  • DB2 UDB support
  • A proper persistence mechanism for schema models
  • Make columns first class objects
  • Support the input, storage and retrieval of notes against any object
  • A diagramming front end

If anyone has suggestions I’m happy to hear your thoughts. Send an email to

Indices and tables

Author:Andy Todd
Last Updated:Tuesday the 26th of October, 2010.