alembic 1.12.0__tar.gz → 1.13.0__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 (234) hide show
  1. {alembic-1.12.0 → alembic-1.13.0}/.github/workflows/run-on-pr.yaml +4 -4
  2. {alembic-1.12.0 → alembic-1.13.0}/.github/workflows/run-test.yaml +10 -5
  3. {alembic-1.12.0 → alembic-1.13.0}/.pre-commit-config.yaml +1 -1
  4. {alembic-1.12.0 → alembic-1.13.0}/PKG-INFO +14 -6
  5. {alembic-1.12.0 → alembic-1.13.0}/README.rst +1 -1
  6. {alembic-1.12.0 → alembic-1.13.0}/README.unittests.rst +5 -5
  7. {alembic-1.12.0 → alembic-1.13.0}/alembic/__init__.py +1 -3
  8. {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/api.py +14 -6
  9. {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/compare.py +129 -195
  10. {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/render.py +42 -32
  11. {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/rewriter.py +19 -19
  12. {alembic-1.12.0 → alembic-1.13.0}/alembic/command.py +11 -9
  13. {alembic-1.12.0 → alembic-1.13.0}/alembic/config.py +1 -1
  14. {alembic-1.12.0 → alembic-1.13.0}/alembic/context.pyi +12 -5
  15. alembic-1.13.0/alembic/ddl/_autogen.py +323 -0
  16. {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/impl.py +167 -41
  17. {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/mssql.py +1 -4
  18. {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/mysql.py +4 -3
  19. {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/postgresql.py +157 -70
  20. {alembic-1.12.0 → alembic-1.13.0}/alembic/op.pyi +9 -11
  21. {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/__init__.py +2 -0
  22. {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/base.py +10 -11
  23. {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/ops.py +14 -14
  24. {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/toimpl.py +5 -5
  25. {alembic-1.12.0 → alembic-1.13.0}/alembic/runtime/environment.py +7 -5
  26. {alembic-1.12.0 → alembic-1.13.0}/alembic/runtime/migration.py +4 -4
  27. {alembic-1.12.0 → alembic-1.13.0}/alembic/script/base.py +25 -17
  28. {alembic-1.12.0 → alembic-1.13.0}/alembic/script/revision.py +30 -25
  29. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/async/alembic.ini.mako +3 -3
  30. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/generic/alembic.ini.mako +3 -3
  31. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/multidb/alembic.ini.mako +3 -3
  32. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/requirements.py +12 -4
  33. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/schemacompare.py +9 -0
  34. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_identity.py +23 -38
  35. {alembic-1.12.0 → alembic-1.13.0}/alembic/util/compat.py +0 -1
  36. {alembic-1.12.0 → alembic-1.13.0}/alembic/util/sqla_compat.py +58 -30
  37. {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/PKG-INFO +14 -6
  38. {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/SOURCES.txt +1 -0
  39. {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/requires.txt +3 -1
  40. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/autogenerate.rst.txt +0 -41
  41. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/branches.rst.txt +4 -4
  42. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/changelog.rst.txt +143 -8
  43. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/cookbook.rst.txt +16 -3
  44. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/front.rst.txt +3 -5
  45. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/naming.rst.txt +1 -1
  46. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/tutorial.rst.txt +11 -9
  47. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/documentation_options.js +1 -1
  48. {alembic-1.12.0 → alembic-1.13.0}/docs/api/autogenerate.html +14 -14
  49. {alembic-1.12.0 → alembic-1.13.0}/docs/api/commands.html +16 -16
  50. {alembic-1.12.0 → alembic-1.13.0}/docs/api/config.html +19 -19
  51. {alembic-1.12.0 → alembic-1.13.0}/docs/api/ddl.html +167 -151
  52. {alembic-1.12.0 → alembic-1.13.0}/docs/api/index.html +5 -5
  53. {alembic-1.12.0 → alembic-1.13.0}/docs/api/operations.html +60 -60
  54. {alembic-1.12.0 → alembic-1.13.0}/docs/api/overview.html +5 -5
  55. {alembic-1.12.0 → alembic-1.13.0}/docs/api/runtime.html +30 -30
  56. {alembic-1.12.0 → alembic-1.13.0}/docs/api/script.html +46 -47
  57. {alembic-1.12.0 → alembic-1.13.0}/docs/autogenerate.html +5 -46
  58. {alembic-1.12.0 → alembic-1.13.0}/docs/batch.html +5 -5
  59. {alembic-1.12.0 → alembic-1.13.0}/docs/branches.html +9 -9
  60. {alembic-1.12.0 → alembic-1.13.0}/docs/build/autogenerate.rst +0 -41
  61. {alembic-1.12.0 → alembic-1.13.0}/docs/build/branches.rst +4 -4
  62. {alembic-1.12.0 → alembic-1.13.0}/docs/build/changelog.rst +143 -8
  63. {alembic-1.12.0 → alembic-1.13.0}/docs/build/conf.py +2 -4
  64. {alembic-1.12.0 → alembic-1.13.0}/docs/build/cookbook.rst +16 -3
  65. {alembic-1.12.0 → alembic-1.13.0}/docs/build/front.rst +3 -5
  66. {alembic-1.12.0 → alembic-1.13.0}/docs/build/naming.rst +1 -1
  67. {alembic-1.12.0 → alembic-1.13.0}/docs/build/requirements.txt +2 -2
  68. {alembic-1.12.0 → alembic-1.13.0}/docs/build/tutorial.rst +11 -9
  69. {alembic-1.12.0 → alembic-1.13.0}/docs/changelog.html +156 -14
  70. {alembic-1.12.0 → alembic-1.13.0}/docs/cookbook.html +23 -9
  71. {alembic-1.12.0 → alembic-1.13.0}/docs/front.html +8 -12
  72. {alembic-1.12.0 → alembic-1.13.0}/docs/genindex.html +21 -23
  73. {alembic-1.12.0 → alembic-1.13.0}/docs/index.html +16 -5
  74. {alembic-1.12.0 → alembic-1.13.0}/docs/naming.html +6 -6
  75. {alembic-1.12.0 → alembic-1.13.0}/docs/offline.html +5 -5
  76. {alembic-1.12.0 → alembic-1.13.0}/docs/ops.html +50 -51
  77. {alembic-1.12.0 → alembic-1.13.0}/docs/py-modindex.html +5 -5
  78. {alembic-1.12.0 → alembic-1.13.0}/docs/search.html +5 -5
  79. alembic-1.13.0/docs/searchindex.js +1 -0
  80. {alembic-1.12.0 → alembic-1.13.0}/docs/tutorial.html +17 -14
  81. {alembic-1.12.0 → alembic-1.13.0}/setup.cfg +8 -5
  82. {alembic-1.12.0 → alembic-1.13.0}/tests/requirements.py +0 -4
  83. {alembic-1.12.0 → alembic-1.13.0}/tests/test_autogen_composition.py +1 -1
  84. {alembic-1.12.0 → alembic-1.13.0}/tests/test_autogen_diffs.py +14 -6
  85. {alembic-1.12.0 → alembic-1.13.0}/tests/test_autogen_indexes.py +118 -67
  86. {alembic-1.12.0 → alembic-1.13.0}/tests/test_autogen_render.py +109 -32
  87. {alembic-1.12.0 → alembic-1.13.0}/tests/test_batch.py +1 -1
  88. {alembic-1.12.0 → alembic-1.13.0}/tests/test_command.py +48 -0
  89. {alembic-1.12.0 → alembic-1.13.0}/tests/test_config.py +1 -1
  90. {alembic-1.12.0 → alembic-1.13.0}/tests/test_op.py +53 -4
  91. {alembic-1.12.0 → alembic-1.13.0}/tests/test_oracle.py +90 -14
  92. {alembic-1.12.0 → alembic-1.13.0}/tests/test_postgresql.py +237 -4
  93. {alembic-1.12.0 → alembic-1.13.0}/tests/test_script_production.py +66 -11
  94. {alembic-1.12.0 → alembic-1.13.0}/tests/test_version_traversal.py +1 -1
  95. {alembic-1.12.0 → alembic-1.13.0}/tools/write_pyi.py +6 -5
  96. {alembic-1.12.0 → alembic-1.13.0}/tox.ini +4 -3
  97. alembic-1.12.0/docs/searchindex.js +0 -1
  98. {alembic-1.12.0 → alembic-1.13.0}/.coveragerc +0 -0
  99. {alembic-1.12.0 → alembic-1.13.0}/.github/FUNDING.yml +0 -0
  100. {alembic-1.12.0 → alembic-1.13.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  101. {alembic-1.12.0 → alembic-1.13.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  102. {alembic-1.12.0 → alembic-1.13.0}/.github/ISSUE_TEMPLATE/use_case.md +0 -0
  103. {alembic-1.12.0 → alembic-1.13.0}/.github/pull_request_template.md +0 -0
  104. {alembic-1.12.0 → alembic-1.13.0}/.gitignore +0 -0
  105. {alembic-1.12.0 → alembic-1.13.0}/.gitreview +0 -0
  106. {alembic-1.12.0 → alembic-1.13.0}/CHANGES +0 -0
  107. {alembic-1.12.0 → alembic-1.13.0}/LICENSE +0 -0
  108. {alembic-1.12.0 → alembic-1.13.0}/MANIFEST.in +0 -0
  109. {alembic-1.12.0 → alembic-1.13.0}/alembic/__main__.py +0 -0
  110. {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/__init__.py +0 -0
  111. {alembic-1.12.0 → alembic-1.13.0}/alembic/context.py +0 -0
  112. {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/__init__.py +0 -0
  113. {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/base.py +0 -0
  114. {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/oracle.py +0 -0
  115. {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/sqlite.py +0 -0
  116. {alembic-1.12.0 → alembic-1.13.0}/alembic/environment.py +0 -0
  117. {alembic-1.12.0 → alembic-1.13.0}/alembic/migration.py +0 -0
  118. {alembic-1.12.0 → alembic-1.13.0}/alembic/op.py +0 -0
  119. {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/batch.py +0 -0
  120. {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/schemaobj.py +0 -0
  121. {alembic-1.12.0 → alembic-1.13.0}/alembic/py.typed +0 -0
  122. {alembic-1.12.0 → alembic-1.13.0}/alembic/runtime/__init__.py +0 -0
  123. {alembic-1.12.0 → alembic-1.13.0}/alembic/script/__init__.py +0 -0
  124. {alembic-1.12.0 → alembic-1.13.0}/alembic/script/write_hooks.py +0 -0
  125. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/async/README +0 -0
  126. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/async/env.py +0 -0
  127. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/async/script.py.mako +0 -0
  128. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/generic/README +0 -0
  129. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/generic/env.py +0 -0
  130. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/generic/script.py.mako +0 -0
  131. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/multidb/README +0 -0
  132. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/multidb/env.py +0 -0
  133. {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/multidb/script.py.mako +0 -0
  134. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/__init__.py +0 -0
  135. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/assertions.py +0 -0
  136. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/env.py +0 -0
  137. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/fixtures.py +0 -0
  138. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/plugin/__init__.py +0 -0
  139. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/plugin/bootstrap.py +0 -0
  140. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/__init__.py +0 -0
  141. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/_autogen_fixtures.py +0 -0
  142. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_comments.py +0 -0
  143. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_computed.py +0 -0
  144. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_diffs.py +0 -0
  145. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_fks.py +0 -0
  146. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_environment.py +0 -0
  147. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_op.py +0 -0
  148. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/util.py +0 -0
  149. {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/warnings.py +0 -0
  150. {alembic-1.12.0 → alembic-1.13.0}/alembic/util/__init__.py +0 -0
  151. {alembic-1.12.0 → alembic-1.13.0}/alembic/util/editor.py +0 -0
  152. {alembic-1.12.0 → alembic-1.13.0}/alembic/util/exc.py +0 -0
  153. {alembic-1.12.0 → alembic-1.13.0}/alembic/util/langhelpers.py +0 -0
  154. {alembic-1.12.0 → alembic-1.13.0}/alembic/util/messaging.py +0 -0
  155. {alembic-1.12.0 → alembic-1.13.0}/alembic/util/pyfiles.py +0 -0
  156. {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/dependency_links.txt +0 -0
  157. {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/entry_points.txt +0 -0
  158. {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/not-zip-safe +0 -0
  159. {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/top_level.txt +0 -0
  160. {alembic-1.12.0 → alembic-1.13.0}/docs/_images/api_overview.png +0 -0
  161. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/autogenerate.rst.txt +0 -0
  162. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/commands.rst.txt +0 -0
  163. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/config.rst.txt +0 -0
  164. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/ddl.rst.txt +0 -0
  165. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/index.rst.txt +0 -0
  166. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/operations.rst.txt +0 -0
  167. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/overview.rst.txt +0 -0
  168. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/runtime.rst.txt +0 -0
  169. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/script.rst.txt +0 -0
  170. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/batch.rst.txt +0 -0
  171. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/index.rst.txt +0 -0
  172. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/offline.rst.txt +0 -0
  173. {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/ops.rst.txt +0 -0
  174. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/basic.css +0 -0
  175. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/changelog.css +0 -0
  176. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/clipboard.min.js +0 -0
  177. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/copybutton.css +0 -0
  178. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/copybutton.js +0 -0
  179. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/copybutton_funcs.js +0 -0
  180. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/doctools.js +0 -0
  181. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/file.png +0 -0
  182. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/language_data.js +0 -0
  183. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/minus.png +0 -0
  184. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/nature.css +0 -0
  185. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/nature_override.css +0 -0
  186. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/plus.png +0 -0
  187. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/pygments.css +0 -0
  188. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/searchtools.js +0 -0
  189. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/site_custom_css.css +0 -0
  190. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/sphinx_highlight.js +0 -0
  191. {alembic-1.12.0 → alembic-1.13.0}/docs/_static/sphinx_paramlinks.css +0 -0
  192. {alembic-1.12.0 → alembic-1.13.0}/docs/build/Makefile +0 -0
  193. {alembic-1.12.0 → alembic-1.13.0}/docs/build/_static/nature_override.css +0 -0
  194. {alembic-1.12.0 → alembic-1.13.0}/docs/build/_static/site_custom_css.css +0 -0
  195. {alembic-1.12.0 → alembic-1.13.0}/docs/build/_templates/site_custom_sidebars.html +0 -0
  196. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/api_overview.png +0 -0
  197. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/autogenerate.rst +0 -0
  198. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/commands.rst +0 -0
  199. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/config.rst +0 -0
  200. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/ddl.rst +0 -0
  201. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/index.rst +0 -0
  202. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/operations.rst +0 -0
  203. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/overview.rst +0 -0
  204. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/runtime.rst +0 -0
  205. {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/script.rst +0 -0
  206. {alembic-1.12.0 → alembic-1.13.0}/docs/build/assets/api_overview.graffle +0 -0
  207. {alembic-1.12.0 → alembic-1.13.0}/docs/build/batch.rst +0 -0
  208. {alembic-1.12.0 → alembic-1.13.0}/docs/build/index.rst +0 -0
  209. {alembic-1.12.0 → alembic-1.13.0}/docs/build/make.bat +0 -0
  210. {alembic-1.12.0 → alembic-1.13.0}/docs/build/offline.rst +0 -0
  211. {alembic-1.12.0 → alembic-1.13.0}/docs/build/ops.rst +0 -0
  212. {alembic-1.12.0 → alembic-1.13.0}/docs/build/unreleased/README.txt +0 -0
  213. {alembic-1.12.0 → alembic-1.13.0}/pyproject.toml +0 -0
  214. {alembic-1.12.0 → alembic-1.13.0}/reap_dbs.py +0 -0
  215. {alembic-1.12.0 → alembic-1.13.0}/setup.py +0 -0
  216. {alembic-1.12.0 → alembic-1.13.0}/tests/__init__.py +0 -0
  217. {alembic-1.12.0 → alembic-1.13.0}/tests/_large_map.py +0 -0
  218. {alembic-1.12.0 → alembic-1.13.0}/tests/conftest.py +0 -0
  219. {alembic-1.12.0 → alembic-1.13.0}/tests/test_bulk_insert.py +0 -0
  220. {alembic-1.12.0 → alembic-1.13.0}/tests/test_editor.py +0 -0
  221. {alembic-1.12.0 → alembic-1.13.0}/tests/test_environment.py +0 -0
  222. {alembic-1.12.0 → alembic-1.13.0}/tests/test_external_dialect.py +0 -0
  223. {alembic-1.12.0 → alembic-1.13.0}/tests/test_impl.py +0 -0
  224. {alembic-1.12.0 → alembic-1.13.0}/tests/test_mssql.py +0 -0
  225. {alembic-1.12.0 → alembic-1.13.0}/tests/test_mysql.py +0 -0
  226. {alembic-1.12.0 → alembic-1.13.0}/tests/test_offline_environment.py +0 -0
  227. {alembic-1.12.0 → alembic-1.13.0}/tests/test_op_naming_convention.py +0 -0
  228. {alembic-1.12.0 → alembic-1.13.0}/tests/test_post_write.py +0 -0
  229. {alembic-1.12.0 → alembic-1.13.0}/tests/test_revision.py +0 -0
  230. {alembic-1.12.0 → alembic-1.13.0}/tests/test_script_consumption.py +0 -0
  231. {alembic-1.12.0 → alembic-1.13.0}/tests/test_sqlite.py +0 -0
  232. {alembic-1.12.0 → alembic-1.13.0}/tests/test_stubs.py +0 -0
  233. {alembic-1.12.0 → alembic-1.13.0}/tests/test_suite.py +0 -0
  234. {alembic-1.12.0 → alembic-1.13.0}/tests/test_version_table.py +0 -0
@@ -36,10 +36,10 @@ jobs:
36
36
  # steps to run in each job. Some are github actions, others run shell commands
37
37
  steps:
38
38
  - name: Checkout repo
39
- uses: actions/checkout@v2
39
+ uses: actions/checkout@v4
40
40
 
41
41
  - name: Set up python
42
- uses: actions/setup-python@v2
42
+ uses: actions/setup-python@v4
43
43
  with:
44
44
  python-version: ${{ matrix.python-version }}
45
45
  architecture: ${{ matrix.architecture }}
@@ -67,10 +67,10 @@ jobs:
67
67
 
68
68
  steps:
69
69
  - name: Checkout repo
70
- uses: actions/checkout@v2
70
+ uses: actions/checkout@v4
71
71
 
72
72
  - name: Set up python
73
- uses: actions/setup-python@v2
73
+ uses: actions/setup-python@v4
74
74
  with:
75
75
  python-version: ${{ matrix.python-version }}
76
76
  architecture: ${{ matrix.architecture }}
@@ -30,25 +30,29 @@ jobs:
30
30
  - "windows-latest"
31
31
  - "macos-latest"
32
32
  python-version:
33
- - "3.7"
34
33
  - "3.8"
35
34
  - "3.9"
36
35
  - "3.10"
37
36
  - "3.11"
37
+ - "3.12"
38
38
  sqlalchemy:
39
39
  - sqla13
40
40
  - sqla14
41
41
  - sqlamain
42
+ exclude:
43
+ # sqla13 does not seem to support 3.12
44
+ - sqlalchemy: sqla13
45
+ python-version: "3.12"
42
46
 
43
47
  fail-fast: false
44
48
 
45
49
  # steps to run in each job. Some are github actions, others run shell commands
46
50
  steps:
47
51
  - name: Checkout repo
48
- uses: actions/checkout@v2
52
+ uses: actions/checkout@v4
49
53
 
50
54
  - name: Set up python
51
- uses: actions/setup-python@v2
55
+ uses: actions/setup-python@v4
52
56
  with:
53
57
  python-version: ${{ matrix.python-version }}
54
58
  architecture: ${{ matrix.architecture }}
@@ -73,15 +77,16 @@ jobs:
73
77
  - "3.9"
74
78
  - "3.10"
75
79
  - "3.11"
80
+ - "3.12"
76
81
 
77
82
  fail-fast: false
78
83
 
79
84
  steps:
80
85
  - name: Checkout repo
81
- uses: actions/checkout@v2
86
+ uses: actions/checkout@v4
82
87
 
83
88
  - name: Set up python
84
- uses: actions/setup-python@v2
89
+ uses: actions/setup-python@v4
85
90
  with:
86
91
  python-version: ${{ matrix.python-version }}
87
92
  architecture: ${{ matrix.architecture }}
@@ -14,7 +14,7 @@ repos:
14
14
  - --keep-unused-type-checking
15
15
 
16
16
  - repo: https://github.com/pycqa/flake8
17
- rev: 6.0.0
17
+ rev: 6.1.0
18
18
  hooks:
19
19
  - id: flake8
20
20
  additional_dependencies:
@@ -1,13 +1,14 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: alembic
3
- Version: 1.12.0
3
+ Version: 1.13.0
4
4
  Summary: A database migration tool for SQLAlchemy.
5
5
  Home-page: https://alembic.sqlalchemy.org
6
6
  Author: Mike Bayer
7
7
  Author-email: mike_mp@zzzcomputing.com
8
8
  License: MIT
9
- Project-URL: Source, https://github.com/sqlalchemy/alembic/
10
9
  Project-URL: Documentation, https://alembic.sqlalchemy.org/en/latest/
10
+ Project-URL: Changelog, https://alembic.sqlalchemy.org/en/latest/changelog.html
11
+ Project-URL: Source, https://github.com/sqlalchemy/alembic/
11
12
  Project-URL: Issue Tracker, https://github.com/sqlalchemy/alembic/issues/
12
13
  Classifier: Development Status :: 5 - Production/Stable
13
14
  Classifier: Intended Audience :: Developers
@@ -16,17 +17,24 @@ Classifier: License :: OSI Approved :: MIT License
16
17
  Classifier: Operating System :: OS Independent
17
18
  Classifier: Programming Language :: Python
18
19
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.7
20
20
  Classifier: Programming Language :: Python :: 3.8
21
21
  Classifier: Programming Language :: Python :: 3.9
22
22
  Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
23
25
  Classifier: Programming Language :: Python :: Implementation :: CPython
24
26
  Classifier: Programming Language :: Python :: Implementation :: PyPy
25
27
  Classifier: Topic :: Database :: Front-Ends
26
- Requires-Python: >=3.7
28
+ Requires-Python: >=3.8
27
29
  Description-Content-Type: text/x-rst
28
- Provides-Extra: tz
29
30
  License-File: LICENSE
31
+ Requires-Dist: SQLAlchemy>=1.3.0
32
+ Requires-Dist: Mako
33
+ Requires-Dist: importlib-metadata; python_version < "3.9"
34
+ Requires-Dist: importlib-resources; python_version < "3.9"
35
+ Requires-Dist: typing-extensions>=4
36
+ Provides-Extra: tz
37
+ Requires-Dist: backports.zoneinfo; python_version < "3.9" and extra == "tz"
30
38
 
31
39
  Alembic is a database migrations tool written by the author
32
40
  of `SQLAlchemy <http://www.sqlalchemy.org>`_. A migrations tool
@@ -95,7 +103,7 @@ The goals of Alembic are:
95
103
  * Provide a library of ALTER constructs that can be used by any SQLAlchemy
96
104
  application. The DDL constructs build upon SQLAlchemy's own DDLElement base
97
105
  and can be used standalone by any application or script.
98
- * At long last, bring SQLite and its inablity to ALTER things into the fold,
106
+ * At long last, bring SQLite and its inability to ALTER things into the fold,
99
107
  but in such a way that SQLite's very special workflow needs are accommodated
100
108
  in an explicit way that makes the most of a bad situation, through the
101
109
  concept of a "batch" migration, where multiple changes to a table can
@@ -65,7 +65,7 @@ The goals of Alembic are:
65
65
  * Provide a library of ALTER constructs that can be used by any SQLAlchemy
66
66
  application. The DDL constructs build upon SQLAlchemy's own DDLElement base
67
67
  and can be used standalone by any application or script.
68
- * At long last, bring SQLite and its inablity to ALTER things into the fold,
68
+ * At long last, bring SQLite and its inability to ALTER things into the fold,
69
69
  but in such a way that SQLite's very special workflow needs are accommodated
70
70
  in an explicit way that makes the most of a bad situation, through the
71
71
  concept of a "batch" migration, where multiple changes to a table can
@@ -23,20 +23,20 @@ Advanced Tox Options
23
23
 
24
24
  For more elaborate CI-style test running, the tox script provided will
25
25
  run against various Python / database targets. For a basic run against
26
- Python 3.9 using an in-memory SQLite database::
26
+ Python 3.11 using an in-memory SQLite database::
27
27
 
28
- tox -e py39-sqlite
28
+ tox -e py311-sqlite
29
29
 
30
30
  The tox runner contains a series of target combinations that can run
31
31
  against various combinations of databases. The test suite can be
32
32
  run against SQLite with "backend" tests also running against a PostgreSQL
33
33
  database::
34
34
 
35
- tox -e py39-sqlite-postgresql
35
+ tox -e py311-sqlite-postgresql
36
36
 
37
37
  Or to run just "backend" tests against a MySQL database::
38
38
 
39
- tox -e py39-mysql-backendonly
39
+ tox -e py311-mysql-backendonly
40
40
 
41
41
  Running against backends other than SQLite requires that a database of that
42
42
  vendor be available at a specific URL. See "Setting Up Databases" below
@@ -131,7 +131,7 @@ with the tox runner also::
131
131
  [db]
132
132
  postgresql=postgresql://username:pass@hostname/dbname
133
133
 
134
- Now when we run ``tox -e py39-postgresql``, it will use our custom URL instead
134
+ Now when we run ``tox -e py311-postgresql``, it will use our custom URL instead
135
135
  of the fixed one in setup.cfg.
136
136
 
137
137
  Database Configuration
@@ -1,6 +1,4 @@
1
- import sys
2
-
3
1
  from . import context
4
2
  from . import op
5
3
 
6
- __version__ = "1.12.0"
4
+ __version__ = "1.13.0"
@@ -2,9 +2,9 @@ from __future__ import annotations
2
2
 
3
3
  import contextlib
4
4
  from typing import Any
5
- from typing import Callable
6
5
  from typing import Dict
7
6
  from typing import Iterator
7
+ from typing import List
8
8
  from typing import Optional
9
9
  from typing import Sequence
10
10
  from typing import Set
@@ -17,6 +17,7 @@ from . import compare
17
17
  from . import render
18
18
  from .. import util
19
19
  from ..operations import ops
20
+ from ..util import sqla_compat
20
21
 
21
22
  """Provide the 'autogenerate' feature which can produce migration operations
22
23
  automatically."""
@@ -34,10 +35,12 @@ if TYPE_CHECKING:
34
35
  from ..operations.ops import UpgradeOps
35
36
  from ..runtime.environment import NameFilterParentNames
36
37
  from ..runtime.environment import NameFilterType
38
+ from ..runtime.environment import ProcessRevisionDirectiveFn
37
39
  from ..runtime.environment import RenderItemFn
38
40
  from ..runtime.migration import MigrationContext
39
41
  from ..script.base import Script
40
42
  from ..script.base import ScriptDirectory
43
+ from ..script.revision import _GetRevArg
41
44
 
42
45
 
43
46
  def compare_metadata(context: MigrationContext, metadata: MetaData) -> Any:
@@ -438,7 +441,7 @@ class AutogenContext:
438
441
  def run_object_filters(
439
442
  self,
440
443
  object_: SchemaItem,
441
- name: Optional[str],
444
+ name: sqla_compat._ConstraintName,
442
445
  type_: NameFilterType,
443
446
  reflected: bool,
444
447
  compare_to: Optional[SchemaItem],
@@ -507,12 +510,17 @@ class RevisionContext:
507
510
  """Maintains configuration and state that's specific to a revision
508
511
  file generation operation."""
509
512
 
513
+ generated_revisions: List[MigrationScript]
514
+ process_revision_directives: Optional[ProcessRevisionDirectiveFn]
515
+
510
516
  def __init__(
511
517
  self,
512
518
  config: Config,
513
519
  script_directory: ScriptDirectory,
514
520
  command_args: Dict[str, Any],
515
- process_revision_directives: Optional[Callable] = None,
521
+ process_revision_directives: Optional[
522
+ ProcessRevisionDirectiveFn
523
+ ] = None,
516
524
  ) -> None:
517
525
  self.config = config
518
526
  self.script_directory = script_directory
@@ -555,18 +563,18 @@ class RevisionContext:
555
563
  )
556
564
 
557
565
  def run_autogenerate(
558
- self, rev: tuple, migration_context: MigrationContext
566
+ self, rev: _GetRevArg, migration_context: MigrationContext
559
567
  ) -> None:
560
568
  self._run_environment(rev, migration_context, True)
561
569
 
562
570
  def run_no_autogenerate(
563
- self, rev: tuple, migration_context: MigrationContext
571
+ self, rev: _GetRevArg, migration_context: MigrationContext
564
572
  ) -> None:
565
573
  self._run_environment(rev, migration_context, False)
566
574
 
567
575
  def _run_environment(
568
576
  self,
569
- rev: tuple,
577
+ rev: _GetRevArg,
570
578
  migration_context: MigrationContext,
571
579
  autogenerate: bool,
572
580
  ) -> None: