NAME

DBIO::PostgreSQL::PostGIS::Deploy - Deploy orchestrator for PostGIS-enabled PostgreSQL schemas

VERSION

version 0.900000

DESCRIPTION

Subclass of DBIO::PostgreSQL::Deploy that swaps in DBIO::PostgreSQL::PostGIS::Introspect so geometry column metadata (geometry_type, srid) is correctly captured during both live-DB and temp-DB introspection.

Activated automatically when DBIO::PostgreSQL::PostGIS::Storage is the active storage class via dbio_deploy_class.

The orchestration itself (install/apply/upgrade/diff, temp-database lifecycle) is inherited unchanged from DBIO::PostgreSQL::Deploy, which in turn derives from DBIO::Deploy::Base::TempDatabase. This class only swaps the introspector via "_introspect_class".

Deploying geometry columns: diff builds its target model by deploying the schema into a freshly created temp database. That database does not inherit the PostGIS extension, so a schema with geometry/ geography columns must declare the extension so the install DDL emits CREATE EXTENSION:

__PACKAGE__->pg_extensions('postgis');

Without it the temp-database deploy fails with type "geometry" does not exist.

METHODS

_introspect_class

Override: returns DBIO::PostgreSQL::PostGIS::Introspect so geometry column metadata (geometry_type, srid) is captured during both live-DB and temp-DB introspection. The inherited _new_introspect (from DBIO::PostgreSQL::Deploy) instantiates this class with the correct schema_filter derived from $schema->pg_schemas.

AUTHOR

DBIO Authors

COPYRIGHT AND LICENSE

Copyright (C) 2026 DBIO Authors

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