Migration Framework for Firebird
The Migration Framework for Firebird is a suite of tools and guidelines that automate much of Firebird version migration - metadata analysis, automatic fixes, and a folder-based conversion workflow. Proven on large estates (600+ servers migrated).
How it works
1. Metadata analysis
Automatic examination of database metadata backups produces a report of issues - split into problems the Framework can fix automatically and items that need manual attention.
2. Data migration
After metadata is verified (and adjusted if needed), drop legacy-format databases into the incoming folder and collect fully operational databases from the outgoing folder.
Built for enterprises with many databases across servers and sites - migrate fleets far faster than purely manual upgrades. For hands-on expert help on complex cases, see the migration service.
Pricing
Licensed per successful database migration. Trial includes 1 free migration. Optional support is $1,300. Need more than 10,000? Contact us.
1 migration
Single successful database migration after the free trial.
$99
PurchaseUp to 5
Pack for small upgrade batches.
$395
PurchaseUp to 10
Mid-size migration projects.
$690
Purchase| Migrations | Price | |
|---|---|---|
| Up to 50 | $1,000 | Purchase |
| Up to 250 | $2,750 | Purchase |
| Up to 500 | $3,000 | Purchase |
| Up to 10,000 | $10,000 | Purchase |
Also available with capacity in Enterprise subscription plans and with HQbird tooling for multi-server estates.
Examples of automatic metadata fixes
The Framework analyzes and can automatically fix common incompatibilities in stored procedures, triggers, functions, packages, and views - for example:
SUSPENDwithout return (procedures)CURRENT_TIMESTAMP/ timezone-related usage →LOCALTIMESTAMPwhere appropriate- Reserved word
LOCALquoted as"LOCAL" CURRENT_TIMESTAMP/CURRENT_TIMEin computed fields andDEFAULTclauses →LOCALTIMESTAMP/LOCALTIME
PSQL example
Before
create or alter procedure sp_sample
as
begin
insert into tablex (start_time, user, local)
values (current_timestamp, current_user, 1);
suspend;
end
After
create or alter procedure sp_sample
as
begin
insert into tablex (start_time, user, "LOCAL")
values (localtimestamp, current_user, 1);
--suspend;
end
Dialect 1 → Dialect 3
- Runs
gfixfor dialect migration - Double quotes in PSQL blocks changed to single quotes automatically
CURRENT_DATE(date and time in dialect 1) replaced withLOCALTIMESTAMPinside the database