NAME

DBIO::Firebird::Deploy - Deploy and upgrade Firebird schemas via test-deploy-and-compare

VERSION

version 0.900000

DESCRIPTION

DBIO::Firebird::Deploy orchestrates the deployment and upgrade of Firebird schemas using a test-deploy-and-compare strategy. The orchestration (install, diff, apply, upgrade, and the create-temp / deploy-introspect / drop-temp flow) is inherited from DBIO::Deploy::Base::TempDatabase; this class supplies only the Firebird-specific seams:

  • the three class-name hooks ("_ddl_class" in DBIO::Deploy::Base, _introspect_class, _diff_class);

  • "_create_temp_db" / "_drop_temp_db" -- Firebird creates the temp database out-of-band via DBD::Firebird->create_database and drops it via $dbh->func("ib_drop_database"), because DSQL cannot prepare database-level DDL (do("CREATE DATABASE") / do("DROP DATABASE") fail);

  • "_temp_dsn" -- Firebird's dbi:Firebird:dbname=$id DSN form, where $id is the full host/port:/abs/path.fdb identifier returned by "_create_temp_db".

my $deploy = DBIO::Firebird::Deploy->new(
    schema => MyApp::DB->connect($dsn),
);

$deploy->install;            # fresh install
$deploy->upgrade;            # test-deploy + compare + apply

my $diff = $deploy->diff;    # or in steps
print $diff->summary;
$deploy->apply($diff) if $diff->has_changes;

ATTRIBUTES

schema

A connected DBIO::Schema instance using the DBIO::Firebird component. Required. (Inherited from DBIO::Deploy::Base.)

AUTHOR

DBIO & DBIx::Class Authors

COPYRIGHT AND LICENSE

Copyright (C) 2026 DBIO Authors Portions Copyright (C) 2005-2025 DBIx::Class Authors Based on DBIx::Class, heavily modified.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 158:

Unknown directive: =seealso