From: Peter Cock
Date: Wed, 6 Nov 2024 17:07:02 +0000 (-0500)
Subject: Avoid D103 linter warnings via script.py.mako
X-Git-Tag: rel_1_15_0~10
X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d881db066678a032583f4f055236f9060d16c73f;p=thirdparty%2Fsqlalchemy%2Falembic.git
Avoid D103 linter warnings via script.py.mako
Added a basic docstring to the migration template files so that the
upgrade/downgrade methods pass the D103 linter check which requires a
docstring for public functions. Pull request courtesy Peter Cock.
Fixes: #1567
Closes: #1568
Pull-request: https://github.com/sqlalchemy/alembic/pull/1568
Pull-request-sha: fa3bcd5926cc2523ac6f05c3c1e8c4eeafc55dda
Change-Id: I14b7863dfef01edca9c94d8dff4109efd274df3c
---
diff --git a/alembic/templates/async/script.py.mako b/alembic/templates/async/script.py.mako
index fbc4b07d..480b130d 100644
--- a/alembic/templates/async/script.py.mako
+++ b/alembic/templates/async/script.py.mako
@@ -19,8 +19,10 @@ depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)}
def upgrade() -> None:
+ """Upgrade schema."""
${upgrades if upgrades else "pass"}
def downgrade() -> None:
+ """Downgrade schema."""
${downgrades if downgrades else "pass"}
diff --git a/alembic/templates/generic/script.py.mako b/alembic/templates/generic/script.py.mako
index fbc4b07d..480b130d 100644
--- a/alembic/templates/generic/script.py.mako
+++ b/alembic/templates/generic/script.py.mako
@@ -19,8 +19,10 @@ depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)}
def upgrade() -> None:
+ """Upgrade schema."""
${upgrades if upgrades else "pass"}
def downgrade() -> None:
+ """Downgrade schema."""
${downgrades if downgrades else "pass"}
diff --git a/alembic/templates/multidb/script.py.mako b/alembic/templates/multidb/script.py.mako
index 6108b8a0..3caca7bf 100644
--- a/alembic/templates/multidb/script.py.mako
+++ b/alembic/templates/multidb/script.py.mako
@@ -22,10 +22,12 @@ depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)}
def upgrade(engine_name: str) -> None:
+ """Upgrade schema."""
globals()["upgrade_%s" % engine_name]()
def downgrade(engine_name: str) -> None:
+ """Downgrade schema."""
globals()["downgrade_%s" % engine_name]()
<%
@@ -38,10 +40,12 @@ def downgrade(engine_name: str) -> None:
% for db_name in re.split(r',\s*', db_names):
def upgrade_${db_name}() -> None:
+ """Upgrade ${db_name} schema."""
${context.get("%s_upgrades" % db_name, "pass")}
def downgrade_${db_name}() -> None:
+ """Downgrade ${db_name} schema."""
${context.get("%s_downgrades" % db_name, "pass")}
% endfor
diff --git a/docs/build/unreleased/1567.rst b/docs/build/unreleased/1567.rst
new file mode 100644
index 00000000..a9a89c06
--- /dev/null
+++ b/docs/build/unreleased/1567.rst
@@ -0,0 +1,7 @@
+.. change::
+ :tags: bug, environment
+ :tickets: 1567
+
+ Added a basic docstring to the migration template files so that the
+ upgrade/downgrade methods pass the D103 linter check which requires a
+ docstring for public functions. Pull request courtesy Peter Cock.
diff --git a/tests/test_script_production.py b/tests/test_script_production.py
index 0551acb5..7857f5d4 100644
--- a/tests/test_script_production.py
+++ b/tests/test_script_production.py
@@ -657,8 +657,9 @@ def downgrade():
result = handle.read()
assert (
(
- """
+ '''
def upgrade() -> None:
+ """Upgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('test_table',
sa.Column('id', sa.Integer(), nullable=False),
@@ -666,7 +667,7 @@ def upgrade() -> None:
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###
-"""
+'''
)
in result
)