Subject Handling version control
Author Myles Wakeham
I'm trying to find out the 'best practice' for Firebird and a client
application that we will be marketing as a vertical market product next
year. We've been developing vertical market software products for many
years, but with other proprietary database server platforms and we will soon
be doing the same with Firebird.

Typically a system includes a client application (written in Delphi 7), and
Firebird 1.5 Classic Server. The customer will initially receive a setup CD
that will automate the installation of the server software, and a separate
InstallShield installer for the client application. However over time,
updates to both the Firebird database server and the clients will be
released, creating the likelihood of mismatches between the client
application version and the database DDL Schema that the application
requires. This is further magnified by the fact that we do all of our data
access with Firebird through stored procedures, so it is imperative that the
database schema version is matched to the client application version.

I have been looking at products such as Clever Components Database Comparer
which looks interesting, but having the client application check the entire
schema each time it starts up to ensure that its compatible with it seems to
be overkill. What I was hoping for is someway to embed a version number
into the Firebird metadata that can be checked against by the client to
determine which parts of the suite have to be updated.

I'm sure I'm not the only person to be struggling with finding a strategy
for this, so I was hoping anyone out there who is currently dealing with a
Firebird SQL database and client applications in production could share
their strategy for dealing with this, and how they handle updates, etc.

Thanks in advance for any assistance.


Myles Wakeham
Director of Engineering
Tech Solutions Inc.
Scottsdale, Arizona USA
Phone (480) 451-7440