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 )