Every developer should "learn to be lazy." Time spent researching and understanding new tools and techniques is time well spent in my Humble Opinion.
Since I am currently "on the bench", I am using my time to update my skills and add to my toolkit.
The following have caught my eye:
Jailer is basically a specialised ETL tool:
The databases required for development and testing rarely need to be full size, it is often easier to work on a small copy. Unfortunately it is very hard to manually extract a small subset of the production data. It is not possible to just take 10% of each table to get a 10% size database. The data in one table would not be related to the data in the other tables. It would not be referentially intact.
Jailer simplifies the extraction of referentially intact data. Once you have defined an extraction model, it can be used to extract data from the production database fast and easy whenever up-to-date test data is required.
This tool should be a great testing aid, and I can see that it also has potential as a debugging tool.
LiquiBase is a tool that helps developers to track and apply changes to database schemas. Basically what it does is storing all changes that are made to a database in a special XML file, called a database changelog file. This changelog file can be used to determine if there are any changes between the schema in the changelog file and the schema found in a database. The nice thing about LiquiBase is that it is database neutral so you can use with any database Java is able to connect to, and that are a lot…
But there is more to LiquiBase that just tracking changes. The outstanding feature of LiquiBase is that it is able to migrate data using the information stored in the database changelog file. This doesn't sound like very much when you are starting a project from scratch, but as soon as you start entering data in your evolving application, you'll understand. And as every application evolves, this is a feature handy for every developer, especially for Grails developers as Hibernate as ORM basically supports only two modes of operation to handle the database schema (configured via the hibernate.hbm2ddl.auto option): wiping out the database and applying a new schema (called create or create-drop) or attempting to update the schema (simply called update). The update option looks like a good way to go at first but as it turns out it has its drawbacks, especially if there is data in the database.
P6Spy lets you monitor the JDBC queries by proxying your database driver. In addition to logging the prepared statements, it also logs the sql with parameters in place so you can copy and paste the exact sql into your favourite database client to test the results.
A bit long in the tooth, but simple and potentially still useful.
Oracle SQLDeveloper, http://www.oracle.co … ducts/sql/index.html
Originally "Project Raptor" (Raptors kill TOADs…). A free visual tool for database development. Gives TOAD a real run for its money, especially for Oracle shops.
Now, none of these are particularly new, and I have used some (particularly SQLDeveloper) for quite a while before writing about them here but they certainly promise to make life easier.
The integration of LiquiBase and P6Spy plugins into Grails also promises to make that framework even more productive than it already is.