
/*
 * Copyright (C) 2011 Archie L. Cobbs. All rights reserved.
 *
 * $Id$
 */

/**
 * Classes supporting automated database schema management.
 *
 * <p>
 * The central classes are {@link org.dellroad.stuff.schema.SchemaUpdater} and
 * {@link org.dellroad.stuff.schema.SpringSchemaUpdater}.
 */
package org.dellroad.stuff.schema;

@@ -147,16 +147,1879 @@
 %0A * %3Cp%3E%0A
+ * Features include:%0A *  %3Cul%3E%0A *  %3Cli%3EAutomatic initialization of the database schema when the application runs for the first time%3C/li%3E%0A *  %3Cli%3EAutomatic application of database schema updates as needed during each application startup cycle%3C/li%3E%0A *  %3Cli%3EAutomated tracking and constraint-based ordering of schema updates supporting multiple code branches%3C/li%3E%0A *  %3Cli%3EIntegration with %3Ca href=%22http://www.springframework.org/%22%3ESpring%3C/a%3E allowing simple XML declaration of updates%3C/li%3E%0A *  %3Cli%3EAn %3Ca href=%22http://ant.apache.org/%22%3Eant%3C/a%3E task that verifies schema update correctness%3C/li%3E%0A *  %3C/ul%3E%0A * %3C/p%3E%0A *%0A * %3Cp%3E%0A * See %7B@link org.dellroad.stuff.schema.SpringSchemaUpdater%7D for an example of how to declare your%0A * %7B@link javax.sql.DataSource DataSource%7D and associated schema updates in a Spring application context.%0A * %3C/p%3E%0A *%0A * %3Cp%3E%0A * Updates may have ordering constraints, and these should be declared explicitly. Once you have done so, then%0A * you may safely %22cherry pick%22 individual schema updates for merging into different code branches without worrying%0A * whether the schema will get messed up, because any ordering constraint violations will be detected automatically.%0A * This verification step is required to detect inconsistencies between the updates and the current code.%0A * %3C/p%3E%0A *%0A * %3Cp%3E%0A * See DellRoad Stuff's %3Ca href=%22/svn/trunk/src/build/macros.xml%22%3Eant macros%3C/a%3E for the %7B@code schemacheck%7D%0A * ant macro that can be used to verify that your delcared schema updates, when applied to the original schema,%0A * yield the expected result (which is typically generated automatically by your schema generation tool from%0A * your current code). It is also a good idea to compare your generated shema matches to an expected result%0A * during each build to detect schema changes caused by e.g., inadvertent changes to model classes.%0A * %3C/p%3E%0A *%0A * %3Cp%3E%0A
  * The c
@@ -2147,16 +2147,24 @@
 dater%7D.%0A
+ * %3C/p%3E%0A
  */%0Apack

Add some Javadoc describing how schema updates work.