Alembic helpers¶
Some helpers to use with Alembic migration tool.
- class geoalchemy2.alembic_helpers.AddGeospatialColumnOp(table_name: str, column: Column[Any], *, schema: str | None = None, **kw: Any)[source]¶
Bases:
AddColumnOp
Add a Geospatial Column in an Alembic migration context.
This method originates from: https://alembic.sqlalchemy.org/en/latest/api/operations.html#operation-plugins
- classmethod add_geospatial_column(operations, table_name, column, schema=None)[source]¶
This method is proxied on the
Operations
class, via theOperations.add_geospatial_column()
method.
- class geoalchemy2.alembic_helpers.CreateGeospatialIndexOp(index_name: str | None, table_name: str, columns: Sequence[str | TextClause | ColumnElement[Any]], *, schema: str | None = None, unique: bool = False, if_not_exists: bool | None = None, **kw: Any)[source]¶
Bases:
CreateIndexOp
- classmethod batch_create_geospatial_index(operations, index_name, columns, **kw)[source]¶
This method is proxied on the
BatchOperations
class, via theBatchOperations.create_geospatial_index()
method.
- class geoalchemy2.alembic_helpers.CreateGeospatialTableOp(table_name: str, columns: Sequence[SchemaItem], *, schema: str | None = None, _namespace_metadata: MetaData | None = None, _constraints_included: bool = False, **kw: Any)[source]¶
Bases:
CreateTableOp
Create a Geospatial Table in an Alembic migration context.
This method originates from: https://alembic.sqlalchemy.org/en/latest/api/operations.html#operation-plugins
- class geoalchemy2.alembic_helpers.DropGeospatialColumnOp(table_name: str, column_name: str, *, schema: str | None = None, _reverse: AddColumnOp | None = None, **kw: Any)[source]¶
Bases:
DropColumnOp
Drop a Geospatial Column in an Alembic migration context.
- classmethod batch_drop_geospatial_column(operations, column_name, **kw)[source]¶
This method is proxied on the
BatchOperations
class, via theBatchOperations.drop_geospatial_column()
method.
- class geoalchemy2.alembic_helpers.DropGeospatialIndexOp(*args, column_name, **kwargs)[source]¶
Bases:
DropIndexOp
- classmethod batch_drop_geospatial_index(operations, index_name, **kw)[source]¶
This method is proxied on the
BatchOperations
class, via theBatchOperations.drop_geospatial_index()
method.
- class geoalchemy2.alembic_helpers.DropGeospatialTableOp(table_name: str, *, schema: str | None = None, table_kw: MutableMapping[Any, Any] | None = None, _reverse: CreateTableOp | None = None)[source]¶
Bases:
DropTableOp
- class geoalchemy2.alembic_helpers.GeoPackageImpl(dialect: Dialect, connection: Connection | None, as_sql: bool, transactional_ddl: bool | None, output_buffer: TextIO | None, context_opts: Dict[str, Any])[source]¶
Bases:
SQLiteImpl
Class to copy the Alembic implementation from SQLite to GeoPackage.
- geoalchemy2.alembic_helpers.add_geo_column(context, revision, op)[source]¶
Replace the default AddColumnOp by a geospatial-specific one.
- geoalchemy2.alembic_helpers.add_geospatial_column(operations, operation)[source]¶
Handle the actual column addition according to the dialect backend.
- Parameters:
operations – Operations object from alembic base, defining high level migration operations.
operation – AddGeospatialColumnOp call, with attributes for table_name, column_name, column_type, and optional keywords.
- geoalchemy2.alembic_helpers.create_geo_index(context, revision, op)[source]¶
Replace the default CreateIndexOp by a geospatial-specific one.
- geoalchemy2.alembic_helpers.create_geo_table(context, revision, op)[source]¶
Replace the default CreateTableOp by a geospatial-specific one.
- geoalchemy2.alembic_helpers.create_geospatial_index(operations, operation)[source]¶
Handle the actual index creation according to the dialect backend.
- Parameters:
operations – Operations object from alembic base, defining high level migration operations.
operation – CreateGeospatialIndexOp call, with attributes for table_name, column_name, column_type, and optional keywords.
- geoalchemy2.alembic_helpers.create_geospatial_table(operations, operation)[source]¶
Handle the actual table creation according to the dialect backend.
- Parameters:
operations – Operations object from alembic base, defining high level migration operations.
operation – CreateGeospatialTableOp call, with attributes for table_name, column_name, column_type, and optional keywords.
- geoalchemy2.alembic_helpers.drop_geo_column(context, revision, op)[source]¶
Replace the default DropColumnOp by a geospatial-specific one.
- geoalchemy2.alembic_helpers.drop_geo_index(context, revision, op)[source]¶
Replace the default DropIndexOp by a geospatial-specific one.
- geoalchemy2.alembic_helpers.drop_geo_table(context, revision, op)[source]¶
Replace the default DropTableOp by a geospatial-specific one.
- geoalchemy2.alembic_helpers.drop_geospatial_column(operations, operation)[source]¶
Handle the actual column removal according to the dialect backend.
- Parameters:
operations – Operations object from alembic base, defining high level migration operations.
operation – AddGeospatialColumnOp call, with attributes for table_name, column_name, column_type, and optional keywords.
- geoalchemy2.alembic_helpers.drop_geospatial_index(operations, operation)[source]¶
Handle the actual index drop according to the dialect backend.
- Parameters:
operations – Operations object from alembic base, defining high level migration operations.
operation – DropGeospatialIndexOp call, with attributes for table_name, column_name, column_type, and optional keywords.
- geoalchemy2.alembic_helpers.drop_geospatial_table(operations, operation)[source]¶
Handle the actual table removal according to the dialect backend.
- Parameters:
operations – Operations object from alembic base, defining high level migration operations.
operation – DropGeospatialTableOp call, with attributes for table_name, column_name, column_type, and optional keywords.
- geoalchemy2.alembic_helpers.include_object(obj, name, obj_type, reflected, compare_to)[source]¶
Do not include internal tables of spatial extensions.
Warning
This function only checks the table names, so it might exclude tables that should not be. In such case, you should create your own function to handle your specific table names.
- geoalchemy2.alembic_helpers.render_add_geo_column(autogen_context, op)[source]¶
Render the add_geospatial_column operation in migration script.
- geoalchemy2.alembic_helpers.render_create_geo_index(autogen_context, op)[source]¶
Render the create_geospatial_index operation in migration script.
- geoalchemy2.alembic_helpers.render_create_geo_table(autogen_context, op)[source]¶
Render the create_geospatial_table operation in migration script.
- geoalchemy2.alembic_helpers.render_drop_geo_column(autogen_context, op)[source]¶
Render the drop_geospatial_column operation in migration script.
- geoalchemy2.alembic_helpers.render_drop_geo_index(autogen_context, op)[source]¶
Render the drop_geospatial_index operation in migration script.
- geoalchemy2.alembic_helpers.render_drop_geo_table(autogen_context, op)[source]¶
Render the drop_geospatial_table operation in migration script.
- geoalchemy2.alembic_helpers.render_item(obj_type, obj, autogen_context)[source]¶
Add proper imports for spatial types.
- geoalchemy2.alembic_helpers.visit_drop_geospatial_table(element, compiler, **kw)[source]¶
Specific compilation rule to drop spatial tables with SQLite dialect.
- geoalchemy2.alembic_helpers.visit_rename_geospatial_table(element, compiler, **kw)[source]¶
Specific compilation rule to rename spatial tables with SQLite dialect.
- geoalchemy2.alembic_helpers.writer = <alembic.autogenerate.rewriter.Rewriter object>¶
Rewriter object for Alembic.