summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Penhey <tim@penhey.net>2023-02-24 10:17:57 +1300
committerGitHub <noreply@github.com>2023-02-23 22:17:57 +0100
commitb53ec0004a08c40a25a4dbf047c51cd140971a9c (patch)
tree9d68ba6b5a2d1290c7990538665dd2848b41d5de
parentdf26520617fa6f9ed65f7047d7e158cd31ba7154 (diff)
downloadalembic-b53ec0004a08c40a25a4dbf047c51cd140971a9c.tar.gz
Update docstring to suggest raw string (#1186)
* Update docstring to suggest raw string When escaping the `:` for `op.execute` if a normal string is used, you need to escape the backslash, eg. `'\\:colon_value'` or using a raw string. For the docs I feel it is nicer to show the raw string. * Update stub documentation Change-Id: Ia605c6c036fe82cebff9b427333404f1c59ea74d --------- Co-authored-by: CaselIT <cfederico87@gmail.com>
-rw-r--r--alembic/op.pyi2
-rw-r--r--alembic/operations/ops.py2
-rw-r--r--tools/write_pyi.py3
3 files changed, 5 insertions, 2 deletions
diff --git a/alembic/op.pyi b/alembic/op.pyi
index 4e80a00..5c089e8 100644
--- a/alembic/op.pyi
+++ b/alembic/op.pyi
@@ -1009,7 +1009,7 @@ def execute(
literal SQL string contains a colon, it must be escaped with a
backslash, as::
- op.execute("INSERT INTO table (foo) VALUES ('\:colon_value')")
+ op.execute(r"INSERT INTO table (foo) VALUES ('\:colon_value')")
:param sqltext: Any legal SQLAlchemy expression, including:
diff --git a/alembic/operations/ops.py b/alembic/operations/ops.py
index 808d1fb..3cdd170 100644
--- a/alembic/operations/ops.py
+++ b/alembic/operations/ops.py
@@ -2388,7 +2388,7 @@ class ExecuteSQLOp(MigrateOperation):
literal SQL string contains a colon, it must be escaped with a
backslash, as::
- op.execute("INSERT INTO table (foo) VALUES ('\:colon_value')")
+ op.execute(r"INSERT INTO table (foo) VALUES ('\:colon_value')")
:param sqltext: Any legal SQLAlchemy expression, including:
diff --git a/tools/write_pyi.py b/tools/write_pyi.py
index e3feb36..376163b 100644
--- a/tools/write_pyi.py
+++ b/tools/write_pyi.py
@@ -13,6 +13,7 @@ sys.path.append(str(Path(__file__).parent.parent))
if True: # avoid flake/zimports messing with the order
from alembic.operations.base import Operations
from alembic.runtime.environment import EnvironmentContext
+ from alembic.runtime.migration import MigrationContext
from alembic.script.write_hooks import console_scripts
from alembic.util.compat import inspect_formatargspec
from alembic.util.compat import inspect_getfullargspec
@@ -40,6 +41,7 @@ TRIM_MODULE = [
"sqlalchemy.sql.dml.",
]
CONTEXT_MANAGERS = {"op": ["batch_alter_table"]}
+ADDITIONAL_ENV = {"MigrationContext": MigrationContext}
def generate_pyi_for_proxy(
@@ -92,6 +94,7 @@ def generate_pyi_for_proxy(
**sa.sql.schema.__dict__,
**sa.__dict__,
**sa.types.__dict__,
+ **ADDITIONAL_ENV,
**ops.__dict__,
**module.__dict__,
}