alembic_pg_autogen.render

Render functions for emitting migration code for PostgreSQL objects.

Module Contents

Functions

_render_create_function

Render a CREATE OR REPLACE FUNCTION via op.execute().

_render_replace_function

Render a CREATE OR REPLACE FUNCTION (replace) via op.execute().

_render_drop_function

Render a DROP FUNCTION via op.execute().

_render_create_trigger

Render a CREATE TRIGGER via op.execute().

_render_replace_trigger

Render DROP TRIGGER + CREATE TRIGGER via two op.execute() calls.

_render_drop_trigger

Render a DROP TRIGGER via op.execute().

_render_create_view

Render a CREATE OR REPLACE VIEW via op.execute().

_render_replace_view

Render a CREATE OR REPLACE VIEW (replace) via op.execute().

_render_drop_view

Render a DROP VIEW via op.execute().

_render_execute

Wrap a DDL string in an op.execute(...) call with safe quoting.

_quote_ddl

Quote a DDL string for inclusion in generated Python source.

API

alembic_pg_autogen.render._render_create_function(_autogen_context: alembic.autogenerate.api.AutogenContext, op: alembic_pg_autogen.ops.CreateFunctionOp) str

Render a CREATE OR REPLACE FUNCTION via op.execute().

alembic_pg_autogen.render._render_replace_function(_autogen_context: alembic.autogenerate.api.AutogenContext, op: alembic_pg_autogen.ops.ReplaceFunctionOp) str

Render a CREATE OR REPLACE FUNCTION (replace) via op.execute().

alembic_pg_autogen.render._render_drop_function(_autogen_context: alembic.autogenerate.api.AutogenContext, op: alembic_pg_autogen.ops.DropFunctionOp) str

Render a DROP FUNCTION via op.execute().

alembic_pg_autogen.render._render_create_trigger(_autogen_context: alembic.autogenerate.api.AutogenContext, op: alembic_pg_autogen.ops.CreateTriggerOp) str

Render a CREATE TRIGGER via op.execute().

alembic_pg_autogen.render._render_replace_trigger(_autogen_context: alembic.autogenerate.api.AutogenContext, op: alembic_pg_autogen.ops.ReplaceTriggerOp) list[str]

Render DROP TRIGGER + CREATE TRIGGER via two op.execute() calls.

alembic_pg_autogen.render._render_drop_trigger(_autogen_context: alembic.autogenerate.api.AutogenContext, op: alembic_pg_autogen.ops.DropTriggerOp) str

Render a DROP TRIGGER via op.execute().

alembic_pg_autogen.render._render_create_view(_autogen_context: alembic.autogenerate.api.AutogenContext, op: alembic_pg_autogen.ops.CreateViewOp) str

Render a CREATE OR REPLACE VIEW via op.execute().

alembic_pg_autogen.render._render_replace_view(_autogen_context: alembic.autogenerate.api.AutogenContext, op: alembic_pg_autogen.ops.ReplaceViewOp) str

Render a CREATE OR REPLACE VIEW (replace) via op.execute().

alembic_pg_autogen.render._render_drop_view(_autogen_context: alembic.autogenerate.api.AutogenContext, op: alembic_pg_autogen.ops.DropViewOp) str

Render a DROP VIEW via op.execute().

alembic_pg_autogen.render._render_execute(ddl: str) str

Wrap a DDL string in an op.execute(...) call with safe quoting.

alembic_pg_autogen.render._quote_ddl(ddl: str) str

Quote a DDL string for inclusion in generated Python source.

Alembic’s _indent() adds leading spaces to every line of the rendered op text (re.sub(r"^", "    ", text, flags=re.M)). Multi-line triple-quoted string literals would absorb that indentation into the string value, silently corrupting the DDL.

To avoid this, multi-line DDL always uses repr() which escapes newlines as \n, producing a single-line literal that is immune to re-indentation. Single-line DDL may use triple-quoting for readability when it contains quotes or backslashes.