alembic 1.16.3__tar.gz → 1.16.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {alembic-1.16.3/alembic.egg-info → alembic-1.16.5}/PKG-INFO +1 -1
- {alembic-1.16.3 → alembic-1.16.5}/alembic/__init__.py +1 -1
- {alembic-1.16.3 → alembic-1.16.5}/alembic/config.py +25 -4
- {alembic-1.16.3 → alembic-1.16.5}/alembic/ddl/mysql.py +30 -1
- {alembic-1.16.3 → alembic-1.16.5}/alembic/script/base.py +2 -4
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/__init__.py +1 -0
- {alembic-1.16.3 → alembic-1.16.5/alembic.egg-info}/PKG-INFO +1 -1
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/changelog.rst +33 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/documentation_options.js +1 -1
- {alembic-1.16.3 → alembic-1.16.5}/docs/api/autogenerate.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/api/commands.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/api/config.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/api/ddl.html +12 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/api/index.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/api/operations.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/api/overview.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/api/runtime.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/api/script.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/autogenerate.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/batch.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/branches.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/changelog.rst +33 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/conf.py +2 -2
- {alembic-1.16.3 → alembic-1.16.5}/docs/changelog.html +53 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/cookbook.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/front.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/genindex.html +7 -5
- {alembic-1.16.3 → alembic-1.16.5}/docs/index.html +11 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/naming.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/offline.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/ops.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/py-modindex.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/docs/search.html +3 -3
- alembic-1.16.5/docs/searchindex.js +1 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/tutorial.html +3 -3
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_config.py +91 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_mysql.py +79 -0
- alembic-1.16.3/docs/searchindex.js +0 -1
- {alembic-1.16.3 → alembic-1.16.5}/CHANGES +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/LICENSE +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/MANIFEST.in +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/README.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/README.unittests.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/__main__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/autogenerate/__init__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/autogenerate/api.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/autogenerate/compare.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/autogenerate/render.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/autogenerate/rewriter.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/command.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/context.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/context.pyi +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/ddl/__init__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/ddl/_autogen.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/ddl/base.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/ddl/impl.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/ddl/mssql.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/ddl/oracle.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/ddl/postgresql.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/ddl/sqlite.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/environment.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/migration.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/op.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/op.pyi +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/operations/__init__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/operations/base.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/operations/batch.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/operations/ops.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/operations/schemaobj.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/operations/toimpl.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/py.typed +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/runtime/__init__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/runtime/environment.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/runtime/migration.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/script/__init__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/script/revision.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/script/write_hooks.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/async/README +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/async/alembic.ini.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/async/env.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/async/script.py.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/generic/README +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/generic/alembic.ini.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/generic/env.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/generic/script.py.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/multidb/README +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/multidb/alembic.ini.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/multidb/env.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/multidb/script.py.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject/README +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject/alembic.ini.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject/env.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject/pyproject.toml.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject/script.py.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject_async/README +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject_async/alembic.ini.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject_async/env.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject_async/pyproject.toml.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/templates/pyproject_async/script.py.mako +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/assertions.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/env.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/fixtures.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/plugin/__init__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/plugin/bootstrap.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/requirements.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/schemacompare.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/suite/__init__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/suite/_autogen_fixtures.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/suite/test_autogen_comments.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/suite/test_autogen_computed.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/suite/test_autogen_diffs.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/suite/test_autogen_fks.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/suite/test_autogen_identity.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/suite/test_environment.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/suite/test_op.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/util.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/testing/warnings.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/util/__init__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/util/compat.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/util/editor.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/util/exc.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/util/langhelpers.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/util/messaging.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/util/pyfiles.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic/util/sqla_compat.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic.egg-info/SOURCES.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic.egg-info/dependency_links.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic.egg-info/entry_points.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic.egg-info/not-zip-safe +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic.egg-info/requires.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/alembic.egg-info/top_level.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_images/api_overview.png +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/api/autogenerate.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/api/commands.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/api/config.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/api/ddl.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/api/index.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/api/operations.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/api/overview.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/api/runtime.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/api/script.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/autogenerate.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/batch.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/branches.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/cookbook.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/front.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/index.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/naming.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/offline.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/ops.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_sources/tutorial.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/basic.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/changelog.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/clipboard.min.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/copybutton.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/copybutton.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/copybutton_funcs.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/doctools.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/file.png +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/images/logo_colab.png +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/language_data.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/minus.png +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/nature_override.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/plus.png +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/pygments.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/sbt-webpack-macros.html +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/scripts/bootstrap.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/scripts/pydata-sphinx-theme.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/scripts/sphinx-book-theme.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/searchtools.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/site_custom_css.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/sphinx_highlight.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/sphinx_paramlinks.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/styles/bootstrap.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/styles/pydata-sphinx-theme.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/styles/sphinx-book-theme.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/styles/theme.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/vendor/fontawesome/6.5.2/LICENSE.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/vendor/fontawesome/6.5.2/css/all.min.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/vendor/fontawesome/6.5.2/js/all.min.js +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/vendor/fontawesome/6.5.2/js/all.min.js.LICENSE.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/_static/webpack-macros.html +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/Makefile +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/_static/nature_override.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/_static/site_custom_css.css +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/_templates/site_custom_sidebars.html +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/api_overview.png +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/autogenerate.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/commands.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/config.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/ddl.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/index.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/operations.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/overview.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/runtime.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/api/script.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/autogenerate.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/batch.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/branches.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/cookbook.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/front.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/index.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/naming.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/offline.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/ops.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/requirements.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/tutorial.rst +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/docs/build/unreleased/README.txt +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/pyproject.toml +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/setup.cfg +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/setup.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/__init__.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/_large_map.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/conftest.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/requirements.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_autogen_composition.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_autogen_diffs.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_autogen_indexes.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_autogen_render.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_batch.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_bulk_insert.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_command.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_editor.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_environment.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_external_dialect.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_impl.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_messaging.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_mssql.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_offline_environment.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_op.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_op_naming_convention.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_oracle.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_post_write.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_postgresql.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_revision.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_script_consumption.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_script_production.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_sqlite.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_stubs.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_suite.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_version_table.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tests/test_version_traversal.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tools/write_pyi.py +0 -0
- {alembic-1.16.3 → alembic-1.16.5}/tox.ini +0 -0
@@ -426,7 +426,9 @@ class Config:
|
|
426
426
|
|
427
427
|
def get_alembic_option(
|
428
428
|
self, name: str, default: Optional[str] = None
|
429
|
-
) -> Union[
|
429
|
+
) -> Union[
|
430
|
+
None, str, list[str], dict[str, str], list[dict[str, str]], int
|
431
|
+
]:
|
430
432
|
"""Return an option from the "[alembic]" or "[tool.alembic]" section
|
431
433
|
of the configparser-parsed .ini file (e.g. ``alembic.ini``) or
|
432
434
|
toml-parsed ``pyproject.toml`` file.
|
@@ -455,11 +457,26 @@ class Config:
|
|
455
457
|
else:
|
456
458
|
return self._get_toml_config_value(name, default=default)
|
457
459
|
|
460
|
+
def get_alembic_boolean_option(self, name: str) -> bool:
|
461
|
+
if self.file_config.has_option(self.config_ini_section, name):
|
462
|
+
return (
|
463
|
+
self.file_config.get(self.config_ini_section, name) == "true"
|
464
|
+
)
|
465
|
+
else:
|
466
|
+
value = self.toml_alembic_config.get(name, False)
|
467
|
+
if not isinstance(value, bool):
|
468
|
+
raise util.CommandError(
|
469
|
+
f"boolean value expected for TOML parameter {name!r}"
|
470
|
+
)
|
471
|
+
return value
|
472
|
+
|
458
473
|
def _get_toml_config_value(
|
459
474
|
self, name: str, default: Optional[Any] = None
|
460
|
-
) -> Union[
|
475
|
+
) -> Union[
|
476
|
+
None, str, list[str], dict[str, str], list[dict[str, str]], int
|
477
|
+
]:
|
461
478
|
USE_DEFAULT = object()
|
462
|
-
value: Union[None, str, list[str], dict[str, str]] = (
|
479
|
+
value: Union[None, str, list[str], dict[str, str], int] = (
|
463
480
|
self.toml_alembic_config.get(name, USE_DEFAULT)
|
464
481
|
)
|
465
482
|
if value is USE_DEFAULT:
|
@@ -482,8 +499,12 @@ class Config:
|
|
482
499
|
"dict[str, str]",
|
483
500
|
{k: v % (self.toml_args) for k, v in value.items()},
|
484
501
|
)
|
502
|
+
elif isinstance(value, int):
|
503
|
+
return value
|
485
504
|
else:
|
486
|
-
raise util.CommandError(
|
505
|
+
raise util.CommandError(
|
506
|
+
f"unsupported TOML value type for key: {name!r}"
|
507
|
+
)
|
487
508
|
return value
|
488
509
|
|
489
510
|
@util.memoized_property
|
@@ -11,6 +11,9 @@ from typing import Union
|
|
11
11
|
|
12
12
|
from sqlalchemy import schema
|
13
13
|
from sqlalchemy import types as sqltypes
|
14
|
+
from sqlalchemy.sql import elements
|
15
|
+
from sqlalchemy.sql import functions
|
16
|
+
from sqlalchemy.sql import operators
|
14
17
|
|
15
18
|
from .base import alter_table
|
16
19
|
from .base import AlterColumn
|
@@ -31,6 +34,7 @@ if TYPE_CHECKING:
|
|
31
34
|
|
32
35
|
from sqlalchemy.dialects.mysql.base import MySQLDDLCompiler
|
33
36
|
from sqlalchemy.sql.ddl import DropConstraint
|
37
|
+
from sqlalchemy.sql.elements import ClauseElement
|
34
38
|
from sqlalchemy.sql.schema import Constraint
|
35
39
|
from sqlalchemy.sql.type_api import TypeEngine
|
36
40
|
|
@@ -47,6 +51,31 @@ class MySQLImpl(DefaultImpl):
|
|
47
51
|
)
|
48
52
|
type_arg_extract = [r"character set ([\w\-_]+)", r"collate ([\w\-_]+)"]
|
49
53
|
|
54
|
+
def render_ddl_sql_expr(
|
55
|
+
self,
|
56
|
+
expr: ClauseElement,
|
57
|
+
is_server_default: bool = False,
|
58
|
+
is_index: bool = False,
|
59
|
+
**kw: Any,
|
60
|
+
) -> str:
|
61
|
+
# apply Grouping to index expressions;
|
62
|
+
# see https://github.com/sqlalchemy/sqlalchemy/blob/
|
63
|
+
# 36da2eaf3e23269f2cf28420ae73674beafd0661/
|
64
|
+
# lib/sqlalchemy/dialects/mysql/base.py#L2191
|
65
|
+
if is_index and (
|
66
|
+
isinstance(expr, elements.BinaryExpression)
|
67
|
+
or (
|
68
|
+
isinstance(expr, elements.UnaryExpression)
|
69
|
+
and expr.modifier not in (operators.desc_op, operators.asc_op)
|
70
|
+
)
|
71
|
+
or isinstance(expr, functions.FunctionElement)
|
72
|
+
):
|
73
|
+
expr = elements.Grouping(expr)
|
74
|
+
|
75
|
+
return super().render_ddl_sql_expr(
|
76
|
+
expr, is_server_default=is_server_default, is_index=is_index, **kw
|
77
|
+
)
|
78
|
+
|
50
79
|
def alter_column(
|
51
80
|
self,
|
52
81
|
table_name: str,
|
@@ -478,7 +507,7 @@ def _mysql_drop_constraint(
|
|
478
507
|
# note that SQLAlchemy as of 1.2 does not yet support
|
479
508
|
# DROP CONSTRAINT for MySQL/MariaDB, so we implement fully
|
480
509
|
# here.
|
481
|
-
if compiler.dialect.is_mariadb:
|
510
|
+
if compiler.dialect.is_mariadb:
|
482
511
|
return "ALTER TABLE %s DROP CONSTRAINT %s" % (
|
483
512
|
compiler.preparer.format_table(constraint.table),
|
484
513
|
compiler.preparer.format_constraint(constraint),
|
@@ -186,16 +186,14 @@ class ScriptDirectory:
|
|
186
186
|
if prepend_sys_path:
|
187
187
|
sys.path[:0] = prepend_sys_path
|
188
188
|
|
189
|
-
rvl = (
|
190
|
-
config.get_alembic_option("recursive_version_locations") == "true"
|
191
|
-
)
|
189
|
+
rvl = config.get_alembic_boolean_option("recursive_version_locations")
|
192
190
|
return ScriptDirectory(
|
193
191
|
util.coerce_resource_to_filename(script_location),
|
194
192
|
file_template=config.get_alembic_option(
|
195
193
|
"file_template", _default_file_template
|
196
194
|
),
|
197
195
|
truncate_slug_length=truncate_slug_length,
|
198
|
-
sourceless=config.
|
196
|
+
sourceless=config.get_alembic_boolean_option("sourceless"),
|
199
197
|
output_encoding=config.get_alembic_option(
|
200
198
|
"output_encoding", "utf-8"
|
201
199
|
),
|
@@ -9,6 +9,7 @@ from sqlalchemy.testing import uses_deprecated
|
|
9
9
|
from sqlalchemy.testing.config import combinations
|
10
10
|
from sqlalchemy.testing.config import fixture
|
11
11
|
from sqlalchemy.testing.config import requirements as requires
|
12
|
+
from sqlalchemy.testing.config import Variation
|
12
13
|
from sqlalchemy.testing.config import variation
|
13
14
|
|
14
15
|
from .assertions import assert_raises
|
@@ -3,6 +3,39 @@
|
|
3
3
|
Changelog
|
4
4
|
==========
|
5
5
|
|
6
|
+
.. changelog::
|
7
|
+
:version: 1.16.5
|
8
|
+
:released: August 27, 2025
|
9
|
+
|
10
|
+
.. change::
|
11
|
+
:tags: bug, mysql
|
12
|
+
:tickets: 1492
|
13
|
+
|
14
|
+
Fixed Python-side autogenerate rendering of index expressions in MySQL
|
15
|
+
dialect by aligning it with SQLAlchemy's MySQL index expression rules. Pull
|
16
|
+
request courtesy david-fed.
|
17
|
+
|
18
|
+
.. change::
|
19
|
+
:tags: bug, config
|
20
|
+
:tickets: 1709
|
21
|
+
|
22
|
+
Fixed issue where new pyproject.toml config would fail to parse the integer
|
23
|
+
value used for the ``truncate_slug_length`` parameter. Pull request
|
24
|
+
courtesy Luís Henrique Allebrandt Schunemann.
|
25
|
+
|
26
|
+
.. changelog::
|
27
|
+
:version: 1.16.4
|
28
|
+
:released: July 10, 2025
|
29
|
+
|
30
|
+
.. change::
|
31
|
+
:tags: bug, config
|
32
|
+
:tickets: 1694
|
33
|
+
|
34
|
+
Fixed issue in new ``pyproject.toml`` support where boolean values, such as
|
35
|
+
those used for the ``recursive_version_locations`` and ``sourceless``
|
36
|
+
configuration parameters, would not be accepted.
|
37
|
+
|
38
|
+
|
6
39
|
.. changelog::
|
7
40
|
:version: 1.16.3
|
8
41
|
:released: July 8, 2025
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Autogeneration — Alembic 1.16.
|
11
|
+
<title>Autogeneration — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="../_static/documentation_options.js?v=
|
43
|
+
<script src="../_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Commands — Alembic 1.16.
|
11
|
+
<title>Commands — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="../_static/documentation_options.js?v=
|
43
|
+
<script src="../_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Configuration — Alembic 1.16.
|
11
|
+
<title>Configuration — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="../_static/documentation_options.js?v=
|
43
|
+
<script src="../_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>DDL Internals — Alembic 1.16.
|
11
|
+
<title>DDL Internals — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="../_static/documentation_options.js?v=
|
43
|
+
<script src="../_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -445,6 +445,7 @@ document.write(`
|
|
445
445
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.correct_for_autogen_foreignkeys"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.correct_for_autogen_foreignkeys()</span></code></a></li>
|
446
446
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.drop_constraint"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.drop_constraint()</span></code></a></li>
|
447
447
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.memo"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.memo</span></code></a></li>
|
448
|
+
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.render_ddl_sql_expr"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.render_ddl_sql_expr()</span></code></a></li>
|
448
449
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.transactional_ddl"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.transactional_ddl</span></code></a></li>
|
449
450
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.type_arg_extract"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.type_arg_extract</span></code></a></li>
|
450
451
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.type_synonyms"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.type_synonyms</span></code></a></li>
|
@@ -1054,6 +1055,13 @@ at least a single string-holding column named <code class="docutils literal notr
|
|
1054
1055
|
<span class="sig-name descname"><span class="pre">memo</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.13)"><span class="pre">dict</span></a></em><a class="headerlink" href="#alembic.ddl.mysql.MySQLImpl.memo" title="Link to this definition">#</a></dt>
|
1055
1056
|
<dd></dd></dl>
|
1056
1057
|
|
1058
|
+
<dl class="py method">
|
1059
|
+
<dt class="sig sig-object py" id="alembic.ddl.mysql.MySQLImpl.render_ddl_sql_expr">
|
1060
|
+
<span class="sig-name descname"><span class="pre">render_ddl_sql_expr</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">expr</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ClauseElement</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_server_default</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.13)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_index</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.13)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Any</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.13)"><span class="pre">str</span></a></span></span><a class="headerlink" href="#alembic.ddl.mysql.MySQLImpl.render_ddl_sql_expr" title="Link to this definition">#</a></dt>
|
1061
|
+
<dd><p>Render a SQL expression that is typically a server default,
|
1062
|
+
index expression, etc.</p>
|
1063
|
+
</dd></dl>
|
1064
|
+
|
1057
1065
|
<dl class="py attribute">
|
1058
1066
|
<dt class="sig sig-object py" id="alembic.ddl.mysql.MySQLImpl.transactional_ddl">
|
1059
1067
|
<span class="sig-name descname"><span class="pre">transactional_ddl</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#alembic.ddl.mysql.MySQLImpl.transactional_ddl" title="Link to this definition">#</a></dt>
|
@@ -1575,6 +1583,7 @@ see: <a class="reference external" href="http://bugs.python.org/issue10740">http
|
|
1575
1583
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.correct_for_autogen_foreignkeys"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.correct_for_autogen_foreignkeys()</span></code></a></li>
|
1576
1584
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.drop_constraint"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.drop_constraint()</span></code></a></li>
|
1577
1585
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.memo"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.memo</span></code></a></li>
|
1586
|
+
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.render_ddl_sql_expr"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.render_ddl_sql_expr()</span></code></a></li>
|
1578
1587
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.transactional_ddl"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.transactional_ddl</span></code></a></li>
|
1579
1588
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.type_arg_extract"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.type_arg_extract</span></code></a></li>
|
1580
1589
|
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#alembic.ddl.mysql.MySQLImpl.type_synonyms"><code class="docutils literal notranslate"><span class="pre">MySQLImpl.type_synonyms</span></code></a></li>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>API Details — Alembic 1.16.
|
11
|
+
<title>API Details — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="../_static/documentation_options.js?v=
|
43
|
+
<script src="../_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Operation Directives — Alembic 1.16.
|
11
|
+
<title>Operation Directives — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="../_static/documentation_options.js?v=
|
43
|
+
<script src="../_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Overview — Alembic 1.16.
|
11
|
+
<title>Overview — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="../_static/documentation_options.js?v=
|
43
|
+
<script src="../_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Runtime Objects — Alembic 1.16.
|
11
|
+
<title>Runtime Objects — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="../_static/documentation_options.js?v=
|
43
|
+
<script src="../_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Script Directory — Alembic 1.16.
|
11
|
+
<title>Script Directory — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="../_static/documentation_options.js?v=
|
43
|
+
<script src="../_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Auto Generating Migrations — Alembic 1.16.
|
11
|
+
<title>Auto Generating Migrations — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="_static/documentation_options.js?v=
|
43
|
+
<script src="_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Running “Batch” Migrations for SQLite and Other Databases — Alembic 1.16.
|
11
|
+
<title>Running “Batch” Migrations for SQLite and Other Databases — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="_static/documentation_options.js?v=
|
43
|
+
<script src="_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
10
10
|
|
11
|
-
<title>Working with Branches — Alembic 1.16.
|
11
|
+
<title>Working with Branches — Alembic 1.16.5 documentation</title>
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
|
41
41
|
<script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
|
42
42
|
|
43
|
-
<script src="_static/documentation_options.js?v=
|
43
|
+
<script src="_static/documentation_options.js?v=f13bb72c"></script>
|
44
44
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
45
45
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
46
46
|
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
<p class="title logo__title">Alembic 1.16.
|
141
|
+
<p class="title logo__title">Alembic 1.16.5 documentation</p>
|
142
142
|
|
143
143
|
</a></div>
|
144
144
|
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
|
@@ -3,6 +3,39 @@
|
|
3
3
|
Changelog
|
4
4
|
==========
|
5
5
|
|
6
|
+
.. changelog::
|
7
|
+
:version: 1.16.5
|
8
|
+
:released: August 27, 2025
|
9
|
+
|
10
|
+
.. change::
|
11
|
+
:tags: bug, mysql
|
12
|
+
:tickets: 1492
|
13
|
+
|
14
|
+
Fixed Python-side autogenerate rendering of index expressions in MySQL
|
15
|
+
dialect by aligning it with SQLAlchemy's MySQL index expression rules. Pull
|
16
|
+
request courtesy david-fed.
|
17
|
+
|
18
|
+
.. change::
|
19
|
+
:tags: bug, config
|
20
|
+
:tickets: 1709
|
21
|
+
|
22
|
+
Fixed issue where new pyproject.toml config would fail to parse the integer
|
23
|
+
value used for the ``truncate_slug_length`` parameter. Pull request
|
24
|
+
courtesy Luís Henrique Allebrandt Schunemann.
|
25
|
+
|
26
|
+
.. changelog::
|
27
|
+
:version: 1.16.4
|
28
|
+
:released: July 10, 2025
|
29
|
+
|
30
|
+
.. change::
|
31
|
+
:tags: bug, config
|
32
|
+
:tickets: 1694
|
33
|
+
|
34
|
+
Fixed issue in new ``pyproject.toml`` support where boolean values, such as
|
35
|
+
those used for the ``recursive_version_locations`` and ``sourceless``
|
36
|
+
configuration parameters, would not be accepted.
|
37
|
+
|
38
|
+
|
6
39
|
.. changelog::
|
7
40
|
:version: 1.16.3
|
8
41
|
:released: July 8, 2025
|
@@ -100,8 +100,8 @@ copyright = "2010-2025, Mike Bayer" # noqa
|
|
100
100
|
# The short X.Y version.
|
101
101
|
version = alembic.__version__
|
102
102
|
# The full version, including alpha/beta/rc tags.
|
103
|
-
release = "1.16.
|
104
|
-
release_date = "
|
103
|
+
release = "1.16.5"
|
104
|
+
release_date = "August 27, 2025"
|
105
105
|
|
106
106
|
|
107
107
|
# The language for content autogenerated by Sphinx. Refer to documentation
|