Goal of the project is make a deployment and development
tool, which propagates subversion's paradigm to deal with database
objects.
The tool intended to be used in the agile database
development.
Vision
Tool's life cycle should quite resemble working with
subversion.
Some main steps are:
First import the initial state of the
database schema into the subversion repository.
Check out the sources either new development
database or in the file-based structure.
Make changes direct in database or in the
files.
Check in changes in subversion database.
dbsvn should detect changes between revisions
and either generate appropriate sql scripts or apply
this directly against database.
dbsvn supposed to be database-independent and
db-vendor specific simultaneously. Therefore should
support both xml and free text format of the database
objects.
Presumably dbsvn will integrate other open
source frameworks, such as apache torque/ddlutils
(which supports a xml format to store db object's definition),
liqubase (www.liquibase.org)
as tool to apply difference between version
, svnkit
to direct access to the subversion repository.
Project environment
Platform: Java 5
Main build tool: mvn
Test frameworks: xmlunit, dbunit, jnuit or testng(?)
Continuum integration: ?
There are no written code line for the tool, even no
prototype. All should be done from scratch. Contributors or volunteers
are welcome.