An automated database patching framework for Java.
Java
Latest commit a2a7cd4 Sep 19, 2016 @danvalencia danvalencia committed on GitHub Merge pull request #47 from scottfromsf/master
Updated to work with Java 7 and Java 8
Permalink
Failed to load latest commit information.
examples Reverting the changes due to not upgrading to JDK 1.6 at the moment. May 28, 2012
src Removed @overrides as these methods don't exist in Java 6. Sep 15, 2016
.gitignore Dropped .classpath and added to .gitignore. Nov 15, 2011
.mailmap Mapped my github profile to various git author/commit UIDs I've used. May 6, 2011
.travis.yml Added Java 7 and 8 builds for Travis CI. Sep 15, 2016
CHANGELOG
README.md Update README.md Feb 8, 2016
maven-eclipse.xml Major code reorganization: pulled out subprojects into separate git r… May 6, 2011
migration.properties Major code reorganization: pulled out subprojects into separate git r… May 6, 2011
pom.xml Ignore Javadoc issues for now. Java 8 is really picky about missing p… Sep 15, 2016
tacit_checkstyle.config Issue #23: Adding checkstyle configuration to pom file for site and s… Nov 10, 2011

README.md

AutoPatch

AutoPatch automates the application of changes to persistent storage.

AutoPatch was born from the needs of using an agile development process while working on systems that have persistent storage. 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:

  • Developer alters the model, which requires a change to the database
  • Developer possibly consults a DBA, and develops a SQL patch against their personal database that implements the alteration
  • Developer commits the patch to source control at the same time as they commit their dependent code
  • 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.

Requirements

  • Java 6. That's it.

Where do I get AutoPatch?

AutoPatch is open source and is hosted at Github.

The documentation for AutoPatch is on the AutoPatch Wiki

You can include AutoPatch in your Maven project via:

<dependency>
  <groupId>com.tacitknowledge</groupId>
  <artifactId>autopatch</artifactId>
  <version>1.4.2</version>
</dependency>

Help

If you have a question about AutoPatch feel free to post it up to our new AutoPatch Google Group.