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_databaseand 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=$idDSN form, where$idis the fullhost/port:/abs/path.fdbidentifier 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.)
DBIO::Deploy::Base::TempDatabase - shared temp-database orchestration
DBIO::Firebird - schema component
DBIO::Firebird::DDL - generates the DDL used by
installanddiffDBIO::Firebird::Introspect - reads the live and temp database state
DBIO::Firebird::Diff - compares the two introspected models
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