Sqlch is a pure Java database build suite that integrates with Ant (although you can call it via an API if you prefer). Sqlch is designed to be database independent - it should work with any relational database that uses SQL and has a JDBC driver. It is aimed at what could be called "medium-sized" projects, ones that are larger than the sort one might do at home: with multiple developers using revision control, but smaller than those where you have a full-time DBA, with large amounts of data to load.
Sqlch can deal with both loading data from and saving data back to flat files that can be read and edited by humans.
For more information on the features of Sqlch and why you might want to use it go here.
Sqlch is a project hosted by SourceForge.
Life, liberty......
Sqlch was named by Michael Hinshelwood. No, it doesn't mean a thing.
Sqlch refers to a set of tools that is likely to grow over time - at present it mainly consists of a tool to load, delete and dump data in a database. Sqlch contains a number of other tools for assisting with database builds and configuration of the load/save tool.
A database build process comes in two common forms:
Sqlch sits somewhere between the two approaches. The simple approach gets annoying to use incredibly quickly, gradually taking more and more time as the requirements grow. The complex type often constitutes a major skills risk for the project since so few people have the ability to understand how the tool works. While you could argue that Sqlch is just as bespoke, all the code is freely available and while it has complexity, it is written in the technology that the majority of a Java development team should be able to understand.
Sqlch won't solve all your problems and if you're already using the complex solution, you probably won't want to go backwards unless it's causing you issues. Sqlch is a direct replacement for the simple approach.
The Sqlch tool was originated by Neil Fuller, a Java developer that had too much time on his hands between contracts. Neil has an equal dislike of script-based and perl-based database build-processes he doesn't understand and cannot fix if they go wrong.
If you are having trouble with Sqlch or would like to make suggestions or submit fixes, please use the tools on SourceForge.
The quality of support you receive will entirely depend on how helpful the maintainers of Sqlch are feeling when a request arrives and how busy they are at the time. If people would like to volunteer their services to extend and support Sqlch please do.
Sqlch has been released under the Apache License 2.0 (http://www.apache.org/licenses/) and is therefore open-source. While the author retains copyright, people are free to use it however they please. See the license file LICENSE in the root of the distribution for more information
As time goes by, Sqlch will undoubtably evolve and stabilise. Some things that have been assumed in the development of Sqlch will routinely turn out to be false and therefore need to be re-written. Expect changes between versions, even to the APIs.
Sqlch is a young project, not even ready for a proper 1.0 release. Like a child, it will fall over regularly and occasionaly make a huge mess. You have been warned
Sqlch has been tested (somewhat) in the following configurations:
Database product | Database platform(s) | JDBC Driver version | Client platform details |
---|---|---|---|
Oracle v9.2 | Linux (Redhat Fedora Core 1) | Oracle ??? Thin and OCI. TODO Confirm versions | Windows / Sun Java 1.4.2_02-b03 |
MySql v4.0.18 | Windows | My-SQL Connector 3.0.11 | Windows / Sun Java 1.4.2_02-b03 | Postgres ???. TODO Confirm versions | Linux | 7.4 build 213 (jdbc2ee) | Windows / Sun Java 1.4.2_02-b03 |
Sqlch SourceForge Distribution: 0.1Alpha8 20041026 2208