alembic 1.16.4__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.
Files changed (245) hide show
  1. {alembic-1.16.4/alembic.egg-info → alembic-1.16.5}/PKG-INFO +1 -1
  2. {alembic-1.16.4 → alembic-1.16.5}/alembic/__init__.py +1 -1
  3. {alembic-1.16.4 → alembic-1.16.5}/alembic/config.py +9 -3
  4. {alembic-1.16.4 → alembic-1.16.5}/alembic/ddl/mysql.py +30 -1
  5. {alembic-1.16.4 → alembic-1.16.5/alembic.egg-info}/PKG-INFO +1 -1
  6. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/changelog.rst +20 -0
  7. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/documentation_options.js +1 -1
  8. {alembic-1.16.4 → alembic-1.16.5}/docs/api/autogenerate.html +3 -3
  9. {alembic-1.16.4 → alembic-1.16.5}/docs/api/commands.html +3 -3
  10. {alembic-1.16.4 → alembic-1.16.5}/docs/api/config.html +3 -3
  11. {alembic-1.16.4 → alembic-1.16.5}/docs/api/ddl.html +12 -3
  12. {alembic-1.16.4 → alembic-1.16.5}/docs/api/index.html +3 -3
  13. {alembic-1.16.4 → alembic-1.16.5}/docs/api/operations.html +3 -3
  14. {alembic-1.16.4 → alembic-1.16.5}/docs/api/overview.html +3 -3
  15. {alembic-1.16.4 → alembic-1.16.5}/docs/api/runtime.html +3 -3
  16. {alembic-1.16.4 → alembic-1.16.5}/docs/api/script.html +3 -3
  17. {alembic-1.16.4 → alembic-1.16.5}/docs/autogenerate.html +3 -3
  18. {alembic-1.16.4 → alembic-1.16.5}/docs/batch.html +3 -3
  19. {alembic-1.16.4 → alembic-1.16.5}/docs/branches.html +3 -3
  20. {alembic-1.16.4 → alembic-1.16.5}/docs/build/changelog.rst +20 -0
  21. {alembic-1.16.4 → alembic-1.16.5}/docs/build/conf.py +2 -2
  22. {alembic-1.16.4 → alembic-1.16.5}/docs/changelog.html +31 -3
  23. {alembic-1.16.4 → alembic-1.16.5}/docs/cookbook.html +3 -3
  24. {alembic-1.16.4 → alembic-1.16.5}/docs/front.html +3 -3
  25. {alembic-1.16.4 → alembic-1.16.5}/docs/genindex.html +7 -5
  26. {alembic-1.16.4 → alembic-1.16.5}/docs/index.html +7 -3
  27. {alembic-1.16.4 → alembic-1.16.5}/docs/naming.html +3 -3
  28. {alembic-1.16.4 → alembic-1.16.5}/docs/offline.html +3 -3
  29. {alembic-1.16.4 → alembic-1.16.5}/docs/ops.html +3 -3
  30. {alembic-1.16.4 → alembic-1.16.5}/docs/py-modindex.html +3 -3
  31. {alembic-1.16.4 → alembic-1.16.5}/docs/search.html +3 -3
  32. alembic-1.16.5/docs/searchindex.js +1 -0
  33. {alembic-1.16.4 → alembic-1.16.5}/docs/tutorial.html +3 -3
  34. {alembic-1.16.4 → alembic-1.16.5}/tests/test_config.py +47 -0
  35. {alembic-1.16.4 → alembic-1.16.5}/tests/test_mysql.py +79 -0
  36. alembic-1.16.4/docs/searchindex.js +0 -1
  37. {alembic-1.16.4 → alembic-1.16.5}/CHANGES +0 -0
  38. {alembic-1.16.4 → alembic-1.16.5}/LICENSE +0 -0
  39. {alembic-1.16.4 → alembic-1.16.5}/MANIFEST.in +0 -0
  40. {alembic-1.16.4 → alembic-1.16.5}/README.rst +0 -0
  41. {alembic-1.16.4 → alembic-1.16.5}/README.unittests.rst +0 -0
  42. {alembic-1.16.4 → alembic-1.16.5}/alembic/__main__.py +0 -0
  43. {alembic-1.16.4 → alembic-1.16.5}/alembic/autogenerate/__init__.py +0 -0
  44. {alembic-1.16.4 → alembic-1.16.5}/alembic/autogenerate/api.py +0 -0
  45. {alembic-1.16.4 → alembic-1.16.5}/alembic/autogenerate/compare.py +0 -0
  46. {alembic-1.16.4 → alembic-1.16.5}/alembic/autogenerate/render.py +0 -0
  47. {alembic-1.16.4 → alembic-1.16.5}/alembic/autogenerate/rewriter.py +0 -0
  48. {alembic-1.16.4 → alembic-1.16.5}/alembic/command.py +0 -0
  49. {alembic-1.16.4 → alembic-1.16.5}/alembic/context.py +0 -0
  50. {alembic-1.16.4 → alembic-1.16.5}/alembic/context.pyi +0 -0
  51. {alembic-1.16.4 → alembic-1.16.5}/alembic/ddl/__init__.py +0 -0
  52. {alembic-1.16.4 → alembic-1.16.5}/alembic/ddl/_autogen.py +0 -0
  53. {alembic-1.16.4 → alembic-1.16.5}/alembic/ddl/base.py +0 -0
  54. {alembic-1.16.4 → alembic-1.16.5}/alembic/ddl/impl.py +0 -0
  55. {alembic-1.16.4 → alembic-1.16.5}/alembic/ddl/mssql.py +0 -0
  56. {alembic-1.16.4 → alembic-1.16.5}/alembic/ddl/oracle.py +0 -0
  57. {alembic-1.16.4 → alembic-1.16.5}/alembic/ddl/postgresql.py +0 -0
  58. {alembic-1.16.4 → alembic-1.16.5}/alembic/ddl/sqlite.py +0 -0
  59. {alembic-1.16.4 → alembic-1.16.5}/alembic/environment.py +0 -0
  60. {alembic-1.16.4 → alembic-1.16.5}/alembic/migration.py +0 -0
  61. {alembic-1.16.4 → alembic-1.16.5}/alembic/op.py +0 -0
  62. {alembic-1.16.4 → alembic-1.16.5}/alembic/op.pyi +0 -0
  63. {alembic-1.16.4 → alembic-1.16.5}/alembic/operations/__init__.py +0 -0
  64. {alembic-1.16.4 → alembic-1.16.5}/alembic/operations/base.py +0 -0
  65. {alembic-1.16.4 → alembic-1.16.5}/alembic/operations/batch.py +0 -0
  66. {alembic-1.16.4 → alembic-1.16.5}/alembic/operations/ops.py +0 -0
  67. {alembic-1.16.4 → alembic-1.16.5}/alembic/operations/schemaobj.py +0 -0
  68. {alembic-1.16.4 → alembic-1.16.5}/alembic/operations/toimpl.py +0 -0
  69. {alembic-1.16.4 → alembic-1.16.5}/alembic/py.typed +0 -0
  70. {alembic-1.16.4 → alembic-1.16.5}/alembic/runtime/__init__.py +0 -0
  71. {alembic-1.16.4 → alembic-1.16.5}/alembic/runtime/environment.py +0 -0
  72. {alembic-1.16.4 → alembic-1.16.5}/alembic/runtime/migration.py +0 -0
  73. {alembic-1.16.4 → alembic-1.16.5}/alembic/script/__init__.py +0 -0
  74. {alembic-1.16.4 → alembic-1.16.5}/alembic/script/base.py +0 -0
  75. {alembic-1.16.4 → alembic-1.16.5}/alembic/script/revision.py +0 -0
  76. {alembic-1.16.4 → alembic-1.16.5}/alembic/script/write_hooks.py +0 -0
  77. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/async/README +0 -0
  78. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/async/alembic.ini.mako +0 -0
  79. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/async/env.py +0 -0
  80. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/async/script.py.mako +0 -0
  81. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/generic/README +0 -0
  82. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/generic/alembic.ini.mako +0 -0
  83. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/generic/env.py +0 -0
  84. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/generic/script.py.mako +0 -0
  85. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/multidb/README +0 -0
  86. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/multidb/alembic.ini.mako +0 -0
  87. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/multidb/env.py +0 -0
  88. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/multidb/script.py.mako +0 -0
  89. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject/README +0 -0
  90. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject/alembic.ini.mako +0 -0
  91. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject/env.py +0 -0
  92. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject/pyproject.toml.mako +0 -0
  93. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject/script.py.mako +0 -0
  94. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject_async/README +0 -0
  95. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject_async/alembic.ini.mako +0 -0
  96. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject_async/env.py +0 -0
  97. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject_async/pyproject.toml.mako +0 -0
  98. {alembic-1.16.4 → alembic-1.16.5}/alembic/templates/pyproject_async/script.py.mako +0 -0
  99. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/__init__.py +0 -0
  100. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/assertions.py +0 -0
  101. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/env.py +0 -0
  102. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/fixtures.py +0 -0
  103. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/plugin/__init__.py +0 -0
  104. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/plugin/bootstrap.py +0 -0
  105. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/requirements.py +0 -0
  106. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/schemacompare.py +0 -0
  107. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/suite/__init__.py +0 -0
  108. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/suite/_autogen_fixtures.py +0 -0
  109. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/suite/test_autogen_comments.py +0 -0
  110. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/suite/test_autogen_computed.py +0 -0
  111. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/suite/test_autogen_diffs.py +0 -0
  112. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/suite/test_autogen_fks.py +0 -0
  113. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/suite/test_autogen_identity.py +0 -0
  114. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/suite/test_environment.py +0 -0
  115. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/suite/test_op.py +0 -0
  116. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/util.py +0 -0
  117. {alembic-1.16.4 → alembic-1.16.5}/alembic/testing/warnings.py +0 -0
  118. {alembic-1.16.4 → alembic-1.16.5}/alembic/util/__init__.py +0 -0
  119. {alembic-1.16.4 → alembic-1.16.5}/alembic/util/compat.py +0 -0
  120. {alembic-1.16.4 → alembic-1.16.5}/alembic/util/editor.py +0 -0
  121. {alembic-1.16.4 → alembic-1.16.5}/alembic/util/exc.py +0 -0
  122. {alembic-1.16.4 → alembic-1.16.5}/alembic/util/langhelpers.py +0 -0
  123. {alembic-1.16.4 → alembic-1.16.5}/alembic/util/messaging.py +0 -0
  124. {alembic-1.16.4 → alembic-1.16.5}/alembic/util/pyfiles.py +0 -0
  125. {alembic-1.16.4 → alembic-1.16.5}/alembic/util/sqla_compat.py +0 -0
  126. {alembic-1.16.4 → alembic-1.16.5}/alembic.egg-info/SOURCES.txt +0 -0
  127. {alembic-1.16.4 → alembic-1.16.5}/alembic.egg-info/dependency_links.txt +0 -0
  128. {alembic-1.16.4 → alembic-1.16.5}/alembic.egg-info/entry_points.txt +0 -0
  129. {alembic-1.16.4 → alembic-1.16.5}/alembic.egg-info/not-zip-safe +0 -0
  130. {alembic-1.16.4 → alembic-1.16.5}/alembic.egg-info/requires.txt +0 -0
  131. {alembic-1.16.4 → alembic-1.16.5}/alembic.egg-info/top_level.txt +0 -0
  132. {alembic-1.16.4 → alembic-1.16.5}/docs/_images/api_overview.png +0 -0
  133. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/api/autogenerate.rst +0 -0
  134. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/api/commands.rst +0 -0
  135. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/api/config.rst +0 -0
  136. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/api/ddl.rst +0 -0
  137. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/api/index.rst +0 -0
  138. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/api/operations.rst +0 -0
  139. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/api/overview.rst +0 -0
  140. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/api/runtime.rst +0 -0
  141. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/api/script.rst +0 -0
  142. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/autogenerate.rst +0 -0
  143. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/batch.rst +0 -0
  144. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/branches.rst +0 -0
  145. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/cookbook.rst +0 -0
  146. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/front.rst +0 -0
  147. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/index.rst +0 -0
  148. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/naming.rst +0 -0
  149. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/offline.rst +0 -0
  150. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/ops.rst +0 -0
  151. {alembic-1.16.4 → alembic-1.16.5}/docs/_sources/tutorial.rst +0 -0
  152. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/basic.css +0 -0
  153. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/changelog.css +0 -0
  154. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/clipboard.min.js +0 -0
  155. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/copybutton.css +0 -0
  156. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/copybutton.js +0 -0
  157. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/copybutton_funcs.js +0 -0
  158. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/doctools.js +0 -0
  159. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/file.png +0 -0
  160. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/images/logo_colab.png +0 -0
  161. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/language_data.js +0 -0
  162. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/minus.png +0 -0
  163. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/nature_override.css +0 -0
  164. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/plus.png +0 -0
  165. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/pygments.css +0 -0
  166. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/sbt-webpack-macros.html +0 -0
  167. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/scripts/bootstrap.js +0 -0
  168. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
  169. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/scripts/pydata-sphinx-theme.js +0 -0
  170. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/scripts/sphinx-book-theme.js +0 -0
  171. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/searchtools.js +0 -0
  172. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/site_custom_css.css +0 -0
  173. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/sphinx_highlight.js +0 -0
  174. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/sphinx_paramlinks.css +0 -0
  175. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/styles/bootstrap.css +0 -0
  176. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/styles/pydata-sphinx-theme.css +0 -0
  177. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/styles/sphinx-book-theme.css +0 -0
  178. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/styles/theme.css +0 -0
  179. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/vendor/fontawesome/6.5.2/LICENSE.txt +0 -0
  180. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/vendor/fontawesome/6.5.2/css/all.min.css +0 -0
  181. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/vendor/fontawesome/6.5.2/js/all.min.js +0 -0
  182. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/vendor/fontawesome/6.5.2/js/all.min.js.LICENSE.txt +0 -0
  183. {alembic-1.16.4 → alembic-1.16.5}/docs/_static/webpack-macros.html +0 -0
  184. {alembic-1.16.4 → alembic-1.16.5}/docs/build/Makefile +0 -0
  185. {alembic-1.16.4 → alembic-1.16.5}/docs/build/_static/nature_override.css +0 -0
  186. {alembic-1.16.4 → alembic-1.16.5}/docs/build/_static/site_custom_css.css +0 -0
  187. {alembic-1.16.4 → alembic-1.16.5}/docs/build/_templates/site_custom_sidebars.html +0 -0
  188. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/api_overview.png +0 -0
  189. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/autogenerate.rst +0 -0
  190. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/commands.rst +0 -0
  191. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/config.rst +0 -0
  192. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/ddl.rst +0 -0
  193. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/index.rst +0 -0
  194. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/operations.rst +0 -0
  195. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/overview.rst +0 -0
  196. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/runtime.rst +0 -0
  197. {alembic-1.16.4 → alembic-1.16.5}/docs/build/api/script.rst +0 -0
  198. {alembic-1.16.4 → alembic-1.16.5}/docs/build/autogenerate.rst +0 -0
  199. {alembic-1.16.4 → alembic-1.16.5}/docs/build/batch.rst +0 -0
  200. {alembic-1.16.4 → alembic-1.16.5}/docs/build/branches.rst +0 -0
  201. {alembic-1.16.4 → alembic-1.16.5}/docs/build/cookbook.rst +0 -0
  202. {alembic-1.16.4 → alembic-1.16.5}/docs/build/front.rst +0 -0
  203. {alembic-1.16.4 → alembic-1.16.5}/docs/build/index.rst +0 -0
  204. {alembic-1.16.4 → alembic-1.16.5}/docs/build/naming.rst +0 -0
  205. {alembic-1.16.4 → alembic-1.16.5}/docs/build/offline.rst +0 -0
  206. {alembic-1.16.4 → alembic-1.16.5}/docs/build/ops.rst +0 -0
  207. {alembic-1.16.4 → alembic-1.16.5}/docs/build/requirements.txt +0 -0
  208. {alembic-1.16.4 → alembic-1.16.5}/docs/build/tutorial.rst +0 -0
  209. {alembic-1.16.4 → alembic-1.16.5}/docs/build/unreleased/README.txt +0 -0
  210. {alembic-1.16.4 → alembic-1.16.5}/pyproject.toml +0 -0
  211. {alembic-1.16.4 → alembic-1.16.5}/setup.cfg +0 -0
  212. {alembic-1.16.4 → alembic-1.16.5}/setup.py +0 -0
  213. {alembic-1.16.4 → alembic-1.16.5}/tests/__init__.py +0 -0
  214. {alembic-1.16.4 → alembic-1.16.5}/tests/_large_map.py +0 -0
  215. {alembic-1.16.4 → alembic-1.16.5}/tests/conftest.py +0 -0
  216. {alembic-1.16.4 → alembic-1.16.5}/tests/requirements.py +0 -0
  217. {alembic-1.16.4 → alembic-1.16.5}/tests/test_autogen_composition.py +0 -0
  218. {alembic-1.16.4 → alembic-1.16.5}/tests/test_autogen_diffs.py +0 -0
  219. {alembic-1.16.4 → alembic-1.16.5}/tests/test_autogen_indexes.py +0 -0
  220. {alembic-1.16.4 → alembic-1.16.5}/tests/test_autogen_render.py +0 -0
  221. {alembic-1.16.4 → alembic-1.16.5}/tests/test_batch.py +0 -0
  222. {alembic-1.16.4 → alembic-1.16.5}/tests/test_bulk_insert.py +0 -0
  223. {alembic-1.16.4 → alembic-1.16.5}/tests/test_command.py +0 -0
  224. {alembic-1.16.4 → alembic-1.16.5}/tests/test_editor.py +0 -0
  225. {alembic-1.16.4 → alembic-1.16.5}/tests/test_environment.py +0 -0
  226. {alembic-1.16.4 → alembic-1.16.5}/tests/test_external_dialect.py +0 -0
  227. {alembic-1.16.4 → alembic-1.16.5}/tests/test_impl.py +0 -0
  228. {alembic-1.16.4 → alembic-1.16.5}/tests/test_messaging.py +0 -0
  229. {alembic-1.16.4 → alembic-1.16.5}/tests/test_mssql.py +0 -0
  230. {alembic-1.16.4 → alembic-1.16.5}/tests/test_offline_environment.py +0 -0
  231. {alembic-1.16.4 → alembic-1.16.5}/tests/test_op.py +0 -0
  232. {alembic-1.16.4 → alembic-1.16.5}/tests/test_op_naming_convention.py +0 -0
  233. {alembic-1.16.4 → alembic-1.16.5}/tests/test_oracle.py +0 -0
  234. {alembic-1.16.4 → alembic-1.16.5}/tests/test_post_write.py +0 -0
  235. {alembic-1.16.4 → alembic-1.16.5}/tests/test_postgresql.py +0 -0
  236. {alembic-1.16.4 → alembic-1.16.5}/tests/test_revision.py +0 -0
  237. {alembic-1.16.4 → alembic-1.16.5}/tests/test_script_consumption.py +0 -0
  238. {alembic-1.16.4 → alembic-1.16.5}/tests/test_script_production.py +0 -0
  239. {alembic-1.16.4 → alembic-1.16.5}/tests/test_sqlite.py +0 -0
  240. {alembic-1.16.4 → alembic-1.16.5}/tests/test_stubs.py +0 -0
  241. {alembic-1.16.4 → alembic-1.16.5}/tests/test_suite.py +0 -0
  242. {alembic-1.16.4 → alembic-1.16.5}/tests/test_version_table.py +0 -0
  243. {alembic-1.16.4 → alembic-1.16.5}/tests/test_version_traversal.py +0 -0
  244. {alembic-1.16.4 → alembic-1.16.5}/tools/write_pyi.py +0 -0
  245. {alembic-1.16.4 → alembic-1.16.5}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alembic
3
- Version: 1.16.4
3
+ Version: 1.16.5
4
4
  Summary: A database migration tool for SQLAlchemy.
5
5
  Author-email: Mike Bayer <mike_mp@zzzcomputing.com>
6
6
  License-Expression: MIT
@@ -1,4 +1,4 @@
1
1
  from . import context
2
2
  from . import op
3
3
 
4
- __version__ = "1.16.4"
4
+ __version__ = "1.16.5"
@@ -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[None, str, list[str], dict[str, str], list[dict[str, str]]]:
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.
@@ -470,9 +472,11 @@ class Config:
470
472
 
471
473
  def _get_toml_config_value(
472
474
  self, name: str, default: Optional[Any] = None
473
- ) -> Union[None, str, list[str], dict[str, str], list[dict[str, str]]]:
475
+ ) -> Union[
476
+ None, str, list[str], dict[str, str], list[dict[str, str]], int
477
+ ]:
474
478
  USE_DEFAULT = object()
475
- value: Union[None, str, list[str], dict[str, str]] = (
479
+ value: Union[None, str, list[str], dict[str, str], int] = (
476
480
  self.toml_alembic_config.get(name, USE_DEFAULT)
477
481
  )
478
482
  if value is USE_DEFAULT:
@@ -495,6 +499,8 @@ class Config:
495
499
  "dict[str, str]",
496
500
  {k: v % (self.toml_args) for k, v in value.items()},
497
501
  )
502
+ elif isinstance(value, int):
503
+ return value
498
504
  else:
499
505
  raise util.CommandError(
500
506
  f"unsupported TOML value type for key: {name!r}"
@@ -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: # type: ignore[attr-defined]
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),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alembic
3
- Version: 1.16.4
3
+ Version: 1.16.5
4
4
  Summary: A database migration tool for SQLAlchemy.
5
5
  Author-email: Mike Bayer <mike_mp@zzzcomputing.com>
6
6
  License-Expression: MIT
@@ -3,6 +3,26 @@
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
+
6
26
  .. changelog::
7
27
  :version: 1.16.4
8
28
  :released: July 10, 2025
@@ -1,5 +1,5 @@
1
1
  const DOCUMENTATION_OPTIONS = {
2
- VERSION: '1.16.4',
2
+ VERSION: '1.16.5',
3
3
  LANGUAGE: 'en',
4
4
  COLLAPSE_INDEX: false,
5
5
  BUILDER: 'html',
@@ -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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Autogeneration &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Commands &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Configuration &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>DDL Internals &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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">&#x2192;</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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>API Details &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Operation Directives &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Overview &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Runtime Objects &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Script Directory &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Auto Generating Migrations &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Running “Batch” Migrations for SQLite and Other Databases &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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 &#8212; Alembic 1.16.4 documentation</title>
11
+ <title>Working with Branches &#8212; 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=4ac73531"></script>
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.4 documentation</p>
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,26 @@
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
+
6
26
  .. changelog::
7
27
  :version: 1.16.4
8
28
  :released: July 10, 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.4"
104
- release_date = "July 10, 2025"
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