AutoPatch automates the application of changes to persistent storage.

AutoPatch was designed to eliminate the coordination required to keep databases and software in sync. This especially helps within an agile development process in which software releases are more frequent. Without AutoPatch, developers usually can’t afford the maintenance headache of their own database, and DBAs are required just to apply changes to all of the various environments a serious development effort requires.

The very application of database changes becomes an inefficient, error-prone, expensive process, all conspiring to discourage any refactoring that touches the model, or being a bottleneck when model changes are made.

AutoPatch solves this problem, completely.

With AutoPatch, an agile development process that requires a database change looks like this:

  1. Developer alters the model, which requires a change to the database
  2. Developer possibly consults a DBA, and develops a SQL patch against their personal database that implements the alteration
  3. Developer commits the patch to source control at the same time as they commit their dependent code
  4. Other developers’ and environments’ databases are automatically updated by AutoPatch the next time the new source is run

This represents streamlined environment maintenance, allowing developers to cheaply have their own databases and all databases to stay in synch with massively lower costs and no environment skew.

Get the latest download here: Autopatch Open-source Project