alembic 1.12.1__tar.gz → 1.13.1__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.12.1 → alembic-1.13.1}/.github/workflows/run-on-pr.yaml +4 -4
- {alembic-1.12.1 → alembic-1.13.1}/.github/workflows/run-test.yaml +10 -6
- {alembic-1.12.1 → alembic-1.13.1}/.pre-commit-config.yaml +1 -1
- {alembic-1.12.1 → alembic-1.13.1}/PKG-INFO +11 -4
- {alembic-1.12.1 → alembic-1.13.1}/README.unittests.rst +5 -5
- {alembic-1.12.1 → alembic-1.13.1}/alembic/__init__.py +1 -3
- alembic-1.13.1/alembic/autogenerate/__init__.py +10 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/autogenerate/api.py +8 -5
- {alembic-1.12.1 → alembic-1.13.1}/alembic/autogenerate/compare.py +134 -199
- {alembic-1.12.1 → alembic-1.13.1}/alembic/autogenerate/render.py +39 -24
- {alembic-1.12.1 → alembic-1.13.1}/alembic/autogenerate/rewriter.py +26 -13
- {alembic-1.12.1 → alembic-1.13.1}/alembic/command.py +7 -2
- {alembic-1.12.1 → alembic-1.13.1}/alembic/config.py +20 -9
- {alembic-1.12.1 → alembic-1.13.1}/alembic/context.pyi +12 -6
- {alembic-1.12.1 → alembic-1.13.1}/alembic/ddl/__init__.py +1 -1
- alembic-1.13.1/alembic/ddl/_autogen.py +325 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/ddl/base.py +12 -9
- {alembic-1.12.1 → alembic-1.13.1}/alembic/ddl/impl.py +110 -13
- {alembic-1.12.1 → alembic-1.13.1}/alembic/ddl/mssql.py +4 -1
- {alembic-1.12.1 → alembic-1.13.1}/alembic/ddl/mysql.py +9 -6
- {alembic-1.12.1 → alembic-1.13.1}/alembic/ddl/oracle.py +4 -1
- {alembic-1.12.1 → alembic-1.13.1}/alembic/ddl/postgresql.py +147 -73
- {alembic-1.12.1 → alembic-1.13.1}/alembic/ddl/sqlite.py +8 -6
- {alembic-1.12.1 → alembic-1.13.1}/alembic/op.pyi +46 -8
- {alembic-1.12.1 → alembic-1.13.1}/alembic/operations/base.py +70 -14
- {alembic-1.12.1 → alembic-1.13.1}/alembic/operations/batch.py +7 -8
- {alembic-1.12.1 → alembic-1.13.1}/alembic/operations/ops.py +53 -31
- {alembic-1.12.1 → alembic-1.13.1}/alembic/operations/schemaobj.py +5 -4
- {alembic-1.12.1 → alembic-1.13.1}/alembic/operations/toimpl.py +8 -5
- {alembic-1.12.1 → alembic-1.13.1}/alembic/runtime/environment.py +17 -7
- {alembic-1.12.1 → alembic-1.13.1}/alembic/runtime/migration.py +27 -11
- {alembic-1.12.1 → alembic-1.13.1}/alembic/script/base.py +34 -27
- {alembic-1.12.1 → alembic-1.13.1}/alembic/script/revision.py +30 -17
- {alembic-1.12.1 → alembic-1.13.1}/alembic/script/write_hooks.py +3 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/async/alembic.ini.mako +3 -3
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/generic/alembic.ini.mako +3 -3
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/multidb/alembic.ini.mako +3 -3
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/requirements.py +12 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/schemacompare.py +9 -0
- alembic-1.13.1/alembic/util/__init__.py +35 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/util/compat.py +25 -9
- {alembic-1.12.1 → alembic-1.13.1}/alembic/util/langhelpers.py +78 -33
- {alembic-1.12.1 → alembic-1.13.1}/alembic/util/messaging.py +6 -3
- {alembic-1.12.1 → alembic-1.13.1}/alembic/util/pyfiles.py +7 -3
- {alembic-1.12.1 → alembic-1.13.1}/alembic/util/sqla_compat.py +52 -26
- {alembic-1.12.1 → alembic-1.13.1}/alembic.egg-info/PKG-INFO +11 -4
- {alembic-1.12.1 → alembic-1.13.1}/alembic.egg-info/SOURCES.txt +1 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic.egg-info/requires.txt +3 -1
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/changelog.rst.txt +113 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/cookbook.rst.txt +2 -1
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/front.rst.txt +2 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/tutorial.rst.txt +11 -9
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/documentation_options.js +1 -1
- {alembic-1.12.1 → alembic-1.13.1}/docs/api/autogenerate.html +10 -10
- {alembic-1.12.1 → alembic-1.13.1}/docs/api/commands.html +5 -5
- {alembic-1.12.1 → alembic-1.13.1}/docs/api/config.html +7 -7
- {alembic-1.12.1 → alembic-1.13.1}/docs/api/ddl.html +47 -33
- {alembic-1.12.1 → alembic-1.13.1}/docs/api/index.html +4 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/api/operations.html +12 -12
- {alembic-1.12.1 → alembic-1.13.1}/docs/api/overview.html +4 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/api/runtime.html +14 -9
- {alembic-1.12.1 → alembic-1.13.1}/docs/api/script.html +6 -6
- {alembic-1.12.1 → alembic-1.13.1}/docs/autogenerate.html +4 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/batch.html +4 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/branches.html +4 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/changelog.rst +113 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/conf.py +2 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/cookbook.rst +2 -1
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/front.rst +2 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/requirements.txt +2 -2
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/tutorial.rst +11 -9
- {alembic-1.12.1 → alembic-1.13.1}/docs/changelog.html +121 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/cookbook.html +6 -5
- {alembic-1.12.1 → alembic-1.13.1}/docs/front.html +6 -10
- {alembic-1.12.1 → alembic-1.13.1}/docs/genindex.html +18 -18
- {alembic-1.12.1 → alembic-1.13.1}/docs/index.html +14 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/naming.html +4 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/offline.html +4 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/ops.html +16 -12
- {alembic-1.12.1 → alembic-1.13.1}/docs/py-modindex.html +4 -4
- {alembic-1.12.1 → alembic-1.13.1}/docs/search.html +4 -4
- alembic-1.13.1/docs/searchindex.js +1 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/tutorial.html +16 -13
- {alembic-1.12.1 → alembic-1.13.1}/pyproject.toml +6 -6
- {alembic-1.12.1 → alembic-1.13.1}/setup.cfg +6 -20
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_autogen_diffs.py +9 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_autogen_indexes.py +118 -67
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_autogen_render.py +62 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_command.py +48 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_environment.py +5 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_op.py +3 -3
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_postgresql.py +219 -2
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_script_production.py +36 -12
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_version_traversal.py +61 -0
- {alembic-1.12.1 → alembic-1.13.1}/tools/write_pyi.py +3 -3
- {alembic-1.12.1 → alembic-1.13.1}/tox.ini +4 -3
- alembic-1.12.1/alembic/autogenerate/__init__.py +0 -10
- alembic-1.12.1/alembic/util/__init__.py +0 -35
- alembic-1.12.1/docs/searchindex.js +0 -1
- {alembic-1.12.1 → alembic-1.13.1}/.coveragerc +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/.github/FUNDING.yml +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/.github/ISSUE_TEMPLATE/use_case.md +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/.github/pull_request_template.md +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/.gitignore +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/.gitreview +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/CHANGES +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/LICENSE +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/MANIFEST.in +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/README.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/__main__.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/context.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/environment.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/migration.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/op.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/operations/__init__.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/py.typed +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/runtime/__init__.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/script/__init__.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/async/README +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/async/env.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/async/script.py.mako +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/generic/README +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/generic/env.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/generic/script.py.mako +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/multidb/README +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/multidb/env.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/templates/multidb/script.py.mako +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/__init__.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/assertions.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/env.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/fixtures.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/plugin/__init__.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/plugin/bootstrap.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/suite/__init__.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/suite/_autogen_fixtures.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/suite/test_autogen_comments.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/suite/test_autogen_computed.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/suite/test_autogen_diffs.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/suite/test_autogen_fks.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/suite/test_autogen_identity.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/suite/test_environment.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/suite/test_op.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/util.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/testing/warnings.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/util/editor.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic/util/exc.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic.egg-info/dependency_links.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic.egg-info/entry_points.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic.egg-info/not-zip-safe +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/alembic.egg-info/top_level.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_images/api_overview.png +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/api/autogenerate.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/api/commands.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/api/config.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/api/ddl.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/api/index.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/api/operations.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/api/overview.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/api/runtime.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/api/script.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/autogenerate.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/batch.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/branches.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/index.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/naming.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/offline.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_sources/ops.rst.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/basic.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/changelog.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/clipboard.min.js +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/copybutton.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/copybutton.js +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/copybutton_funcs.js +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/doctools.js +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/file.png +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/language_data.js +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/minus.png +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/nature.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/nature_override.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/plus.png +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/pygments.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/searchtools.js +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/site_custom_css.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/sphinx_highlight.js +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/_static/sphinx_paramlinks.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/Makefile +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/_static/nature_override.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/_static/site_custom_css.css +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/_templates/site_custom_sidebars.html +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/api_overview.png +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/autogenerate.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/commands.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/config.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/ddl.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/index.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/operations.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/overview.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/runtime.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/api/script.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/assets/api_overview.graffle +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/autogenerate.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/batch.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/branches.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/index.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/make.bat +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/naming.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/offline.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/ops.rst +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/docs/build/unreleased/README.txt +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/reap_dbs.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/setup.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/__init__.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/_large_map.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/conftest.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/requirements.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_autogen_composition.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_batch.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_bulk_insert.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_config.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_editor.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_external_dialect.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_impl.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_mssql.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_mysql.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_offline_environment.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_op_naming_convention.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_oracle.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_post_write.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_revision.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_script_consumption.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_sqlite.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_stubs.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/tests/test_suite.py +0 -0
- {alembic-1.12.1 → alembic-1.13.1}/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@
|
39
|
+
uses: actions/checkout@v4
|
40
40
|
|
41
41
|
- name: Set up python
|
42
|
-
uses: actions/setup-python@
|
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@
|
70
|
+
uses: actions/checkout@v4
|
71
71
|
|
72
72
|
- name: Set up python
|
73
|
-
uses: actions/setup-python@
|
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@
|
52
|
+
uses: actions/checkout@v4
|
49
53
|
|
50
54
|
- name: Set up python
|
51
|
-
uses: actions/setup-python@
|
55
|
+
uses: actions/setup-python@v4
|
52
56
|
with:
|
53
57
|
python-version: ${{ matrix.python-version }}
|
54
58
|
architecture: ${{ matrix.architecture }}
|
@@ -70,18 +74,18 @@ jobs:
|
|
70
74
|
os:
|
71
75
|
- "ubuntu-latest"
|
72
76
|
python-version:
|
73
|
-
- "3.9"
|
74
77
|
- "3.10"
|
75
78
|
- "3.11"
|
79
|
+
- "3.12"
|
76
80
|
|
77
81
|
fail-fast: false
|
78
82
|
|
79
83
|
steps:
|
80
84
|
- name: Checkout repo
|
81
|
-
uses: actions/checkout@
|
85
|
+
uses: actions/checkout@v4
|
82
86
|
|
83
87
|
- name: Set up python
|
84
|
-
uses: actions/setup-python@
|
88
|
+
uses: actions/setup-python@v4
|
85
89
|
with:
|
86
90
|
python-version: ${{ matrix.python-version }}
|
87
91
|
architecture: ${{ matrix.architecture }}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: alembic
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.13.1
|
4
4
|
Summary: A database migration tool for SQLAlchemy.
|
5
5
|
Home-page: https://alembic.sqlalchemy.org
|
6
6
|
Author: Mike Bayer
|
@@ -17,17 +17,24 @@ Classifier: License :: OSI Approved :: MIT License
|
|
17
17
|
Classifier: Operating System :: OS Independent
|
18
18
|
Classifier: Programming Language :: Python
|
19
19
|
Classifier: Programming Language :: Python :: 3
|
20
|
-
Classifier: Programming Language :: Python :: 3.7
|
21
20
|
Classifier: Programming Language :: Python :: 3.8
|
22
21
|
Classifier: Programming Language :: Python :: 3.9
|
23
22
|
Classifier: Programming Language :: Python :: 3.10
|
23
|
+
Classifier: Programming Language :: Python :: 3.11
|
24
|
+
Classifier: Programming Language :: Python :: 3.12
|
24
25
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
25
26
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
26
27
|
Classifier: Topic :: Database :: Front-Ends
|
27
|
-
Requires-Python: >=3.
|
28
|
+
Requires-Python: >=3.8
|
28
29
|
Description-Content-Type: text/x-rst
|
29
|
-
Provides-Extra: tz
|
30
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"
|
31
38
|
|
32
39
|
Alembic is a database migrations tool written by the author
|
33
40
|
of `SQLAlchemy <http://www.sqlalchemy.org>`_. A migrations tool
|
@@ -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.
|
26
|
+
Python 3.11 using an in-memory SQLite database::
|
27
27
|
|
28
|
-
tox -e
|
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
|
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
|
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
|
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
|
@@ -0,0 +1,10 @@
|
|
1
|
+
from .api import _render_migration_diffs as _render_migration_diffs
|
2
|
+
from .api import compare_metadata as compare_metadata
|
3
|
+
from .api import produce_migrations as produce_migrations
|
4
|
+
from .api import render_python_code as render_python_code
|
5
|
+
from .api import RevisionContext as RevisionContext
|
6
|
+
from .compare import _produce_net_changes as _produce_net_changes
|
7
|
+
from .compare import comparators as comparators
|
8
|
+
from .render import render_op_text as render_op_text
|
9
|
+
from .render import renderers as renderers
|
10
|
+
from .rewriter import Rewriter as Rewriter
|
@@ -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."""
|
@@ -27,6 +28,7 @@ if TYPE_CHECKING:
|
|
27
28
|
from sqlalchemy.engine import Inspector
|
28
29
|
from sqlalchemy.sql.schema import MetaData
|
29
30
|
from sqlalchemy.sql.schema import SchemaItem
|
31
|
+
from sqlalchemy.sql.schema import Table
|
30
32
|
|
31
33
|
from ..config import Config
|
32
34
|
from ..operations.ops import DowngradeOps
|
@@ -164,6 +166,7 @@ def compare_metadata(context: MigrationContext, metadata: MetaData) -> Any:
|
|
164
166
|
"""
|
165
167
|
|
166
168
|
migration_script = produce_migrations(context, metadata)
|
169
|
+
assert migration_script.upgrade_ops is not None
|
167
170
|
return migration_script.upgrade_ops.as_diffs()
|
168
171
|
|
169
172
|
|
@@ -330,7 +333,7 @@ class AutogenContext:
|
|
330
333
|
self,
|
331
334
|
migration_context: MigrationContext,
|
332
335
|
metadata: Optional[MetaData] = None,
|
333
|
-
opts: Optional[
|
336
|
+
opts: Optional[Dict[str, Any]] = None,
|
334
337
|
autogenerate: bool = True,
|
335
338
|
) -> None:
|
336
339
|
if (
|
@@ -440,7 +443,7 @@ class AutogenContext:
|
|
440
443
|
def run_object_filters(
|
441
444
|
self,
|
442
445
|
object_: SchemaItem,
|
443
|
-
name:
|
446
|
+
name: sqla_compat._ConstraintName,
|
444
447
|
type_: NameFilterType,
|
445
448
|
reflected: bool,
|
446
449
|
compare_to: Optional[SchemaItem],
|
@@ -464,7 +467,7 @@ class AutogenContext:
|
|
464
467
|
run_filters = run_object_filters
|
465
468
|
|
466
469
|
@util.memoized_property
|
467
|
-
def sorted_tables(self):
|
470
|
+
def sorted_tables(self) -> List[Table]:
|
468
471
|
"""Return an aggregate of the :attr:`.MetaData.sorted_tables`
|
469
472
|
collection(s).
|
470
473
|
|
@@ -480,7 +483,7 @@ class AutogenContext:
|
|
480
483
|
return result
|
481
484
|
|
482
485
|
@util.memoized_property
|
483
|
-
def table_key_to_table(self):
|
486
|
+
def table_key_to_table(self) -> Dict[str, Table]:
|
484
487
|
"""Return an aggregate of the :attr:`.MetaData.tables` dictionaries.
|
485
488
|
|
486
489
|
The :attr:`.MetaData.tables` collection is a dictionary of table key
|
@@ -491,7 +494,7 @@ class AutogenContext:
|
|
491
494
|
objects contain the same table key, an exception is raised.
|
492
495
|
|
493
496
|
"""
|
494
|
-
result = {}
|
497
|
+
result: Dict[str, Table] = {}
|
495
498
|
for m in util.to_list(self.metadata):
|
496
499
|
intersect = set(result).intersection(set(m.tables))
|
497
500
|
if intersect:
|