Hosted on: Logo

About dbmstools

dbmstools is a set of utilities for software developers who work with databases. dbmstools understands database schemas (tables, sequences, views etc.) and DBMSs (Database Management Systems, e.g. Oracle, Postgres). It can: Tools in the dbmstools package

Tools in the dbmstools package - click for the full-sized diagram.

dbmstools is mainly aimed at developers who work with databases, and particularly those who need to support schemas on more than one DBMS. The base tools are intended to allow all the database information (schema and base data) to be kept in one single place, and to have DBMS-specific scripts (to create and populate the database schema, and upgrade from one version to the next) generated from that data. If you're anything like me you hate duplication in software code, and I wrote dbmstools to remove that duplication.

As well as the tools for manipulating schemas, there's a second group of tools to help with common database-related tasks, in particular those that are needed during system testing (clearing or dropping tables, inserting or exporting test data).

All tools can be run from the command line on most operating systems. There are also wrappers for several of the tools, so that they can be run from within Apache Ant (a Java build system).

The DBMS's supported (and the completeness/maturity of that support) are:

Sample output from dbmstools

These samples give an idea of what dbmstools can produce. They're from the schema for my jcr project, which is somewhat trivial, but hopefully you'll get the idea.

Requirements for running dbmstools

Most of the individual tools in dbmstools require only Python (version 2.2 or later, but 2.3+ recommended). However: And, of course, you're going to need one or more DBMS's, but if you didn't already have them you wouldn't be here, right?

For further information, see the dbmstools installation documentation.


dbmstools is hosted on SourceForge - you'll find the project download page here.

Quick start with dbmstools

The quick start page will give you a fast run through most of the tools, so you can see them in action.

Installing dbmstools

Mostly, all you have to do is unzip the package. See the installation page for more information.


See the documentation index here.


dbmstools is released under the GNU Public Licence.

Contact Me

My name's John Dickson, and you can reach me at captsens at gmail dot com. I'd love to hear you get on with dbmstools.

And remember, if you're wedded to Java, Python makes a very appealing mistress.