« FireStorm/DAO 2.0.5.2 | Main | FireStorm 2.0.5.4 »

Iterative development with FireStorm

The question we are most often asked at the moment is how to best use FireStorm with projects where the database schema is being revised on a regular basis. With the upcoming 2.1 release of the product there will be a synchronization wizard to make it easy to import changes to a database schema without losing modifications made to a FireStorm project file.

In the meantime however here are some hints and tips to make the development process as pain-free as possible.

Tip 1 - Use the FireStorm Ant tasks for code generation

FireStorm includes an Ant task for generating source code from your FireStorm project file. By incorporating this into your build system you will save a lot of time compared to loading the FireStorm GUI each time you want to re-generate the code. This approach also means that you don't need to store the generated source code in your version control sysem but can generate it every time you run a build.

Tip 2 - Use a diff tool

FireStorm stores its project files in a simple XML format. If your database schema has changed then why not import it into a new FireStorm project file and then run a text diff between the two project files. You can then selectively copy and paste the changes that you want without losing any modifications you made to the master project file.

Tip 3 - Make changes directly to the XML

If you want to make small changes to a database schema, such as adding an extra column or an extra table, why not add them to the FireStorm XML file directly (you can copy and paste an existing item and modify it). The XML file is in a simple format and there is an XSD that you can use to validate your documents using your Java IDE or an XML editor.

Tip 4 - Generate SQL from your FireStorm project file

Rather than make manual updates to your SQL script and your FireStorm file, why not generate the SQL from your FireStorm project?

Obviously there are many factors in your project that will dictate which of these techniques can be applied but hopefully these ideas will help work around the problems that you might face with frequent changes to your schema.

As mentioned, version 2.1 of FireStorm will include a full database synchronization wizard as well as options to import partial schemas and will make the development process with FireStorm even more enjoyable!