java library to maintain database structure
Try DBDeploy. Although I haven't used it in the past, it sounds like this project would help in your case. DBDeploy is a database refactoring manager that:
"Automates the process of establishing which database refactorings need to be run against a specific database in order to migrate it to a particular build."
It is known to integrate with both Ant and Maven.
Try Liquibase.
Liquibase is an open source (Apache 2.0 Licensed), database-independent library for tracking, managing and applying database changes. It is built on a simple premise: All database changes are stored in a human readable yet trackable form and checked into source control.
Supported features:
- Extensibility
- Merging changes from multiple developers
- Code branches
- Multiple Databases
- Managing production data as well as various test datasets
- Cluster-safe database upgrades
- Automated updates or generation of SQL scripts that can be approved and applied by a DBA
- Update rollbacks
- Database ”diff“s
- Generating starting change logs from existing databases
- Generating database change documentation