###################################################################################
#
# LIQUIBASE Continuous Database Delivery
#
###################################################################################

Notes:

There are three new profiles that you can use when building the system.
 
 1) update-db: The update-db profile is used to upgrade the database to the latest (or some incremental 
	step toward the latest
 		> mvn -Pupdate-db clean install
 
 2) tag-db: The tag-db profile is used to tag or version the database. This requires the tag be passed as 
	a parameter if not defined by the project. The tag is used to define a point to rollback to in the event 
	that a rollback becomes necessary.
 		> mvn -Ptag-db -Dliquibase.tag=nvap-1.0 clean install
 
 3) rollback-db: The rollback-db profile is used to rollback all database changes to a specific a specific 
 	number of changes, to a specific date, or to a specific tag.
 		> mvn -Prollback-db clean install -Dliquibase.rollbackTag=nvap-1.0
 		
Liquibase uses changelog files to define changes being made to the database. The nvap changelog files have 
been organized such that there is one changlog file per major release or patch of the system and one master 
changelog file that imports the relevant versioned changelog files.

 1) nvap-db/src/main/resources/gov/va/nvap/db/nvap-changelog.xml     - master changelog. imports other changelogs (1.0, 1.1, 2.0)
 2) nvap-db/src/main/resources/gov/va/nvap/db/nvap-changelog-1.0.xml - nvap 1.0 baseline database schema.
 3) nvap-db/src/main/resources/gov/va/nvap/db/nvap-changelog-1.1.xml - Patch changelog used only for demonstration purposes.
 3) nvap-db/src/main/resources/gov/va/nvap/db/nvap-changelog-2.0.xml - Patch changelog used only for VAP version 2.0.

Liquibase creates two tables in the database schema to keep track of the current version / state of the database.
  
 1) DATABASECHANGELOG - Table for managing state of database.
 2) DATABASECHANGELOGLOCK - Lock table used to prevent multiple users / systems / or processes from updating the 
 	schemas at the same time.
 	
See: http://www.liquibase.org for additional information.   