Schema Tool

Schema Tool is a tool that will keep your database schemas synced with your code. It only moves forward (so you're stuck if you revert a change), but it's invaluable for keeping multiple developer databases, along with testing, staging, and production databases in the right state at all times. While it was originally conceived for database use and has the SQL-migration specifically for that, migrations are written in CFML (as CFCs) by default, so they can be used for anything.

The tool uses a version store either inside the database (a table named 'schema_version') or a file (named whatever), depending on how it's configured. The store simple tracks a major and minor version number of the schema so it can detect what state the schema is in and how it needs to be updated.

Subversion houses both the source of the tool, and the source of a demo app (including the tool) that shows a little of how it can be used.

  • Version 6: 2008-12-04 post
  • Version 5: 2007-11-25 post
  • Version 4: 2007-11-18 post
  • Version 3: 2007-07-27 post
  • Version 2: 2007-07-13 post
  • Version 1: 2007-06-01 post