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.
- {alembic-1.12.0 → alembic-1.13.0}/.github/workflows/run-on-pr.yaml +4 -4
- {alembic-1.12.0 → alembic-1.13.0}/.github/workflows/run-test.yaml +10 -5
- {alembic-1.12.0 → alembic-1.13.0}/.pre-commit-config.yaml +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/PKG-INFO +14 -6
- {alembic-1.12.0 → alembic-1.13.0}/README.rst +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/README.unittests.rst +5 -5
- {alembic-1.12.0 → alembic-1.13.0}/alembic/__init__.py +1 -3
- {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/api.py +14 -6
- {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/compare.py +129 -195
- {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/render.py +42 -32
- {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/rewriter.py +19 -19
- {alembic-1.12.0 → alembic-1.13.0}/alembic/command.py +11 -9
- {alembic-1.12.0 → alembic-1.13.0}/alembic/config.py +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/alembic/context.pyi +12 -5
- alembic-1.13.0/alembic/ddl/_autogen.py +323 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/impl.py +167 -41
- {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/mssql.py +1 -4
- {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/mysql.py +4 -3
- {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/postgresql.py +157 -70
- {alembic-1.12.0 → alembic-1.13.0}/alembic/op.pyi +9 -11
- {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/__init__.py +2 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/base.py +10 -11
- {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/ops.py +14 -14
- {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/toimpl.py +5 -5
- {alembic-1.12.0 → alembic-1.13.0}/alembic/runtime/environment.py +7 -5
- {alembic-1.12.0 → alembic-1.13.0}/alembic/runtime/migration.py +4 -4
- {alembic-1.12.0 → alembic-1.13.0}/alembic/script/base.py +25 -17
- {alembic-1.12.0 → alembic-1.13.0}/alembic/script/revision.py +30 -25
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/async/alembic.ini.mako +3 -3
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/generic/alembic.ini.mako +3 -3
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/multidb/alembic.ini.mako +3 -3
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/requirements.py +12 -4
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/schemacompare.py +9 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_identity.py +23 -38
- {alembic-1.12.0 → alembic-1.13.0}/alembic/util/compat.py +0 -1
- {alembic-1.12.0 → alembic-1.13.0}/alembic/util/sqla_compat.py +58 -30
- {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/PKG-INFO +14 -6
- {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/SOURCES.txt +1 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/requires.txt +3 -1
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/autogenerate.rst.txt +0 -41
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/branches.rst.txt +4 -4
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/changelog.rst.txt +143 -8
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/cookbook.rst.txt +16 -3
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/front.rst.txt +3 -5
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/naming.rst.txt +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/tutorial.rst.txt +11 -9
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/documentation_options.js +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/docs/api/autogenerate.html +14 -14
- {alembic-1.12.0 → alembic-1.13.0}/docs/api/commands.html +16 -16
- {alembic-1.12.0 → alembic-1.13.0}/docs/api/config.html +19 -19
- {alembic-1.12.0 → alembic-1.13.0}/docs/api/ddl.html +167 -151
- {alembic-1.12.0 → alembic-1.13.0}/docs/api/index.html +5 -5
- {alembic-1.12.0 → alembic-1.13.0}/docs/api/operations.html +60 -60
- {alembic-1.12.0 → alembic-1.13.0}/docs/api/overview.html +5 -5
- {alembic-1.12.0 → alembic-1.13.0}/docs/api/runtime.html +30 -30
- {alembic-1.12.0 → alembic-1.13.0}/docs/api/script.html +46 -47
- {alembic-1.12.0 → alembic-1.13.0}/docs/autogenerate.html +5 -46
- {alembic-1.12.0 → alembic-1.13.0}/docs/batch.html +5 -5
- {alembic-1.12.0 → alembic-1.13.0}/docs/branches.html +9 -9
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/autogenerate.rst +0 -41
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/branches.rst +4 -4
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/changelog.rst +143 -8
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/conf.py +2 -4
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/cookbook.rst +16 -3
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/front.rst +3 -5
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/naming.rst +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/requirements.txt +2 -2
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/tutorial.rst +11 -9
- {alembic-1.12.0 → alembic-1.13.0}/docs/changelog.html +156 -14
- {alembic-1.12.0 → alembic-1.13.0}/docs/cookbook.html +23 -9
- {alembic-1.12.0 → alembic-1.13.0}/docs/front.html +8 -12
- {alembic-1.12.0 → alembic-1.13.0}/docs/genindex.html +21 -23
- {alembic-1.12.0 → alembic-1.13.0}/docs/index.html +16 -5
- {alembic-1.12.0 → alembic-1.13.0}/docs/naming.html +6 -6
- {alembic-1.12.0 → alembic-1.13.0}/docs/offline.html +5 -5
- {alembic-1.12.0 → alembic-1.13.0}/docs/ops.html +50 -51
- {alembic-1.12.0 → alembic-1.13.0}/docs/py-modindex.html +5 -5
- {alembic-1.12.0 → alembic-1.13.0}/docs/search.html +5 -5
- alembic-1.13.0/docs/searchindex.js +1 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/tutorial.html +17 -14
- {alembic-1.12.0 → alembic-1.13.0}/setup.cfg +8 -5
- {alembic-1.12.0 → alembic-1.13.0}/tests/requirements.py +0 -4
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_autogen_composition.py +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_autogen_diffs.py +14 -6
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_autogen_indexes.py +118 -67
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_autogen_render.py +109 -32
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_batch.py +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_command.py +48 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_config.py +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_op.py +53 -4
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_oracle.py +90 -14
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_postgresql.py +237 -4
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_script_production.py +66 -11
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_version_traversal.py +1 -1
- {alembic-1.12.0 → alembic-1.13.0}/tools/write_pyi.py +6 -5
- {alembic-1.12.0 → alembic-1.13.0}/tox.ini +4 -3
- alembic-1.12.0/docs/searchindex.js +0 -1
- {alembic-1.12.0 → alembic-1.13.0}/.coveragerc +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/.github/FUNDING.yml +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/.github/ISSUE_TEMPLATE/use_case.md +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/.github/pull_request_template.md +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/.gitignore +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/.gitreview +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/CHANGES +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/LICENSE +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/MANIFEST.in +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/__main__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/autogenerate/__init__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/context.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/__init__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/base.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/oracle.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/ddl/sqlite.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/environment.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/migration.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/op.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/batch.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/operations/schemaobj.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/py.typed +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/runtime/__init__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/script/__init__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/script/write_hooks.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/async/README +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/async/env.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/async/script.py.mako +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/generic/README +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/generic/env.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/generic/script.py.mako +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/multidb/README +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/multidb/env.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/templates/multidb/script.py.mako +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/__init__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/assertions.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/env.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/fixtures.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/plugin/__init__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/plugin/bootstrap.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/__init__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/_autogen_fixtures.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_comments.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_computed.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_diffs.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_autogen_fks.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_environment.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/suite/test_op.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/util.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/testing/warnings.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/util/__init__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/util/editor.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/util/exc.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/util/langhelpers.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/util/messaging.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic/util/pyfiles.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/dependency_links.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/entry_points.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/not-zip-safe +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/alembic.egg-info/top_level.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_images/api_overview.png +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/autogenerate.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/commands.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/config.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/ddl.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/index.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/operations.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/overview.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/runtime.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/api/script.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/batch.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/index.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/offline.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_sources/ops.rst.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/basic.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/changelog.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/clipboard.min.js +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/copybutton.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/copybutton.js +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/copybutton_funcs.js +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/doctools.js +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/file.png +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/language_data.js +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/minus.png +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/nature.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/nature_override.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/plus.png +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/pygments.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/searchtools.js +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/site_custom_css.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/sphinx_highlight.js +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/_static/sphinx_paramlinks.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/Makefile +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/_static/nature_override.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/_static/site_custom_css.css +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/_templates/site_custom_sidebars.html +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/api_overview.png +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/autogenerate.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/commands.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/config.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/ddl.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/index.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/operations.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/overview.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/runtime.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/api/script.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/assets/api_overview.graffle +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/batch.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/index.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/make.bat +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/offline.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/ops.rst +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/docs/build/unreleased/README.txt +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/pyproject.toml +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/reap_dbs.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/setup.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/__init__.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/_large_map.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/conftest.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_bulk_insert.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_editor.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_environment.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_external_dialect.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_impl.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_mssql.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_mysql.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_offline_environment.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_op_naming_convention.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_post_write.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_revision.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_script_consumption.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_sqlite.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_stubs.py +0 -0
- {alembic-1.12.0 → alembic-1.13.0}/tests/test_suite.py +0 -0
- {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@
|
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 }}
|
@@ -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@
|
86
|
+
uses: actions/checkout@v4
|
82
87
|
|
83
88
|
- name: Set up python
|
84
|
-
uses: actions/setup-python@
|
89
|
+
uses: actions/setup-python@v4
|
85
90
|
with:
|
86
91
|
python-version: ${{ matrix.python-version }}
|
87
92
|
architecture: ${{ matrix.architecture }}
|
@@ -1,13 +1,14 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: alembic
|
3
|
-
Version: 1.
|
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.
|
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
|
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
|
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.
|
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
|
@@ -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:
|
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[
|
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:
|
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:
|
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:
|
577
|
+
rev: _GetRevArg,
|
570
578
|
migration_context: MigrationContext,
|
571
579
|
autogenerate: bool,
|
572
580
|
) -> None:
|