Fix bug for field change. (#119)
This commit is contained in:
		| @@ -5,6 +5,7 @@ | |||||||
| ### 0.5.1 | ### 0.5.1 | ||||||
|  |  | ||||||
| - Fix tortoise connections not being closed properly. (#120) | - Fix tortoise connections not being closed properly. (#120) | ||||||
|  | - Fix bug for field change. (#119) | ||||||
|  |  | ||||||
| ### 0.5.0 | ### 0.5.0 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -281,9 +281,7 @@ class Migrate: | |||||||
|                                         and cls._db_version.startswith("5.") |                                         and cls._db_version.startswith("5.") | ||||||
|                                     ): |                                     ): | ||||||
|                                         cls._add_operator( |                                         cls._add_operator( | ||||||
|                                             cls._change_field( |                                             cls._modify_field(model, new_data_field), | ||||||
|                                                 model, new_data_field, old_data_field |  | ||||||
|                                             ), |  | ||||||
|                                             upgrade, |                                             upgrade, | ||||||
|                                         ) |                                         ) | ||||||
|                                     else: |                                     else: | ||||||
| @@ -376,13 +374,17 @@ class Migrate: | |||||||
|                                     upgrade, |                                     upgrade, | ||||||
|                                 ) |                                 ) | ||||||
|                         elif option == "db_field_types.": |                         elif option == "db_field_types.": | ||||||
|                             # change column |                             # continue since repeated with others | ||||||
|  |                             continue | ||||||
|  |                         elif option == "default": | ||||||
|  |                             # change column default | ||||||
|  |                             cls._add_operator(cls._alter_default(model, new_data_field), upgrade) | ||||||
|  |                         else: | ||||||
|  |                             # modify column | ||||||
|                             cls._add_operator( |                             cls._add_operator( | ||||||
|                                 cls._change_field(model, old_data_field, new_data_field), |                                 cls._modify_field(model, new_data_field), | ||||||
|                                 upgrade, |                                 upgrade, | ||||||
|                             ) |                             ) | ||||||
|                         elif option == "default": |  | ||||||
|                             cls._add_operator(cls._alter_default(model, new_data_field), upgrade) |  | ||||||
|  |  | ||||||
|         for old_model in old_models: |         for old_model in old_models: | ||||||
|             if old_model not in new_models.keys(): |             if old_model not in new_models.keys(): | ||||||
|   | |||||||
							
								
								
									
										124
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										124
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							| @@ -41,14 +41,17 @@ python-versions = "*" | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "asyncpg" | name = "asyncpg" | ||||||
| version = "0.21.0" | version = "0.22.0" | ||||||
| description = "An asyncio PostgreSQL driver" | description = "An asyncio PostgreSQL driver" | ||||||
| category = "main" | category = "main" | ||||||
| optional = true | optional = true | ||||||
| python-versions = ">=3.5.0" | python-versions = ">=3.5.0" | ||||||
|  |  | ||||||
|  | [package.dependencies] | ||||||
|  | typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.8\""} | ||||||
|  |  | ||||||
| [package.extras] | [package.extras] | ||||||
| dev = ["Cython (==0.29.20)", "pytest (>=3.6.0)", "Sphinx (>=1.7.3,<1.8.0)", "sphinxcontrib-asyncio (>=0.2.0,<0.3.0)", "sphinx-rtd-theme (>=0.2.4,<0.3.0)", "pycodestyle (>=2.5.0,<2.6.0)", "flake8 (>=3.7.9,<3.8.0)", "uvloop (>=0.14.0,<0.15.0)"] | dev = ["Cython (>=0.29.20,<0.30.0)", "pytest (>=3.6.0)", "Sphinx (>=1.7.3,<1.8.0)", "sphinxcontrib-asyncio (>=0.2.0,<0.3.0)", "sphinx-rtd-theme (>=0.2.4,<0.3.0)", "pycodestyle (>=2.5.0,<2.6.0)", "flake8 (>=3.7.9,<3.8.0)", "uvloop (>=0.14.0,<0.15.0)"] | ||||||
| docs = ["Sphinx (>=1.7.3,<1.8.0)", "sphinxcontrib-asyncio (>=0.2.0,<0.3.0)", "sphinx-rtd-theme (>=0.2.4,<0.3.0)"] | docs = ["Sphinx (>=1.7.3,<1.8.0)", "sphinxcontrib-asyncio (>=0.2.0,<0.3.0)", "sphinx-rtd-theme (>=0.2.4,<0.3.0)"] | ||||||
| test = ["pycodestyle (>=2.5.0,<2.6.0)", "flake8 (>=3.7.9,<3.8.0)", "uvloop (>=0.14.0,<0.15.0)"] | test = ["pycodestyle (>=2.5.0,<2.6.0)", "flake8 (>=3.7.9,<3.8.0)", "uvloop (>=0.14.0,<0.15.0)"] | ||||||
|  |  | ||||||
| @@ -193,7 +196,7 @@ smmap = ">=3.0.1,<4" | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "gitpython" | name = "gitpython" | ||||||
| version = "3.1.12" | version = "3.1.14" | ||||||
| description = "Python Git Library" | description = "Python Git Library" | ||||||
| category = "dev" | category = "dev" | ||||||
| optional = false | optional = false | ||||||
| @@ -204,7 +207,7 @@ gitdb = ">=4.0.1,<5" | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "importlib-metadata" | name = "importlib-metadata" | ||||||
| version = "3.4.0" | version = "3.7.0" | ||||||
| description = "Read metadata from Python packages" | description = "Read metadata from Python packages" | ||||||
| category = "dev" | category = "dev" | ||||||
| optional = false | optional = false | ||||||
| @@ -228,7 +231,7 @@ python-versions = "*" | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "iso8601" | name = "iso8601" | ||||||
| version = "0.1.13" | version = "0.1.14" | ||||||
| description = "Simple module to parse ISO 8601 dates" | description = "Simple module to parse ISO 8601 dates" | ||||||
| category = "main" | category = "main" | ||||||
| optional = false | optional = false | ||||||
| @@ -322,16 +325,18 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pydantic" | name = "pydantic" | ||||||
| version = "1.7.3" | version = "1.8" | ||||||
| description = "Data validation and settings management using python 3.6 type hinting" | description = "Data validation and settings management using python 3.6 type hinting" | ||||||
| category = "main" | category = "main" | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.6" | python-versions = ">=3.6.1" | ||||||
|  |  | ||||||
|  | [package.dependencies] | ||||||
|  | typing-extensions = ">=3.7.4.3" | ||||||
|  |  | ||||||
| [package.extras] | [package.extras] | ||||||
| dotenv = ["python-dotenv (>=0.10.4)"] | dotenv = ["python-dotenv (>=0.10.4)"] | ||||||
| email = ["email-validator (>=1.0.3)"] | email = ["email-validator (>=1.0.3)"] | ||||||
| typing_extensions = ["typing-extensions (>=3.7.2)"] |  | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pyflakes" | name = "pyflakes" | ||||||
| @@ -432,7 +437,7 @@ dev = ["pre-commit", "tox", "pytest-asyncio"] | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pytest-xdist" | name = "pytest-xdist" | ||||||
| version = "2.2.0" | version = "2.2.1" | ||||||
| description = "pytest xdist plugin for distributed testing and loop-on-failing modes" | description = "pytest xdist plugin for distributed testing and loop-on-failing modes" | ||||||
| category = "dev" | category = "dev" | ||||||
| optional = false | optional = false | ||||||
| @@ -581,31 +586,21 @@ appdirs = [ | |||||||
|     {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, |     {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, | ||||||
| ] | ] | ||||||
| asyncpg = [ | asyncpg = [ | ||||||
|     {file = "asyncpg-0.21.0-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:09badce47a4645cfe523cc8a182bd047d5d62af0caaea77935e6a3c9e77dc364"}, |     {file = "asyncpg-0.22.0-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:ccd75cfb4710c7e8debc19516e2e1d4c9863cce3f7a45a3822980d04b16f4fdd"}, | ||||||
|     {file = "asyncpg-0.21.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:6b7807bfedd24dd15cfb2c17c60977ce01410615ecc285268b5144a944ec97ff"}, |     {file = "asyncpg-0.22.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:3af9a8511569983481b5cf94db17b7cbecd06b5398aac9c82e4acb69bb1f4090"}, | ||||||
|     {file = "asyncpg-0.21.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:dfd491e9865e64a3e91f1587b1d88d71dde1cfb850429253a73d4d44b98c3a0f"}, |     {file = "asyncpg-0.22.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:d1cb6e5b58a4e017335f2a1886e153a32bd213ffa9f7129ee5aced2a7210fa3c"}, | ||||||
|     {file = "asyncpg-0.21.0-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:8587e206d78e739ca83a40c9982e03b28f8904c95a54dc782da99e86cf768f73"}, |     {file = "asyncpg-0.22.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0f4604a88386d68c46bf7b50c201a9718515b0d2df6d5e9ce024d78ed0f7189c"}, | ||||||
|     {file = "asyncpg-0.21.0-cp35-cp35m-win32.whl", hash = "sha256:b1b10916c006e5c2c0dcd5dadeb38cbf61ecd20d66c50164e82f31c22c7e329d"}, |     {file = "asyncpg-0.22.0-cp36-cp36m-win_amd64.whl", hash = "sha256:b37efafbbec505287bd1499a88f4b59ff2b470709a1d8f7e4db198d3e2c5a2c4"}, | ||||||
|     {file = "asyncpg-0.21.0-cp35-cp35m-win_amd64.whl", hash = "sha256:22d161618b59e4b56fb2a5cc956aa9eeb336d07cae924a5b90c9aa1c2d137f15"}, |     {file = "asyncpg-0.22.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:1d3efdec14f3fbcc665b77619f8b420564f98b89632a21694be2101dafa6bcf2"}, | ||||||
|     {file = "asyncpg-0.21.0-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:f2d1aa890ffd1ad062a38b7ff7488764b3da4b0a24e0c83d7bbb1d1a6609df15"}, |     {file = "asyncpg-0.22.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:f1df7cfd12ef484210717e7827cc2d4d550b16a1b4dd4566c93914c7a2259352"}, | ||||||
|     {file = "asyncpg-0.21.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:e7bfb9269aeb11d78d50accf1be46823683ced99209b7199e307cdf7da849522"}, |     {file = "asyncpg-0.22.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f514b13bc54bde65db6cd1d0832ae27f21093e3cb66f741e078fab77768971c"}, | ||||||
|     {file = "asyncpg-0.21.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:68f7981f65317a5d5f497ec76919b488dbe0e838f8b924e7517a680bdca0f308"}, |     {file = "asyncpg-0.22.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:82e23ba5b37c0c7ee96f290a95cbf9815b2d29b302e8b9c4af1de9b7759fd27b"}, | ||||||
|     {file = "asyncpg-0.21.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:a4c1feb285ec3807ecd5b54ab718a3d065bb55c93ebaf800670eadde31484be8"}, |     {file = "asyncpg-0.22.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:062e4ff80e68fe56066c44a8c51989a98785904bf86f49058a242a5887be6ce3"}, | ||||||
|     {file = "asyncpg-0.21.0-cp36-cp36m-win32.whl", hash = "sha256:dddf4d4c5e781310a36529c3c87c1746837c2d2c7ec0f2ec4e4f06450d83c50a"}, |     {file = "asyncpg-0.22.0-cp38-cp38-win_amd64.whl", hash = "sha256:e7a67fb0244e4a5b3baaa40092d0efd642da032b5e891d75947dab993b47d925"}, | ||||||
|     {file = "asyncpg-0.21.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7ee29c4707eb8fb3d3a0348ac4495e06f4afaca3ee38c3bebedc9c8b239125ff"}, |     {file = "asyncpg-0.22.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:1bbe5e829de506c743cbd5240b3722e487c53669a5f1e159abcc3b92a64a985e"}, | ||||||
|     {file = "asyncpg-0.21.0-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:4421407b07b4e22291a226d9de0bf6f3ea8158aa1c12d83bfedbf5c22e13cd55"}, |     {file = "asyncpg-0.22.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2cb730241dfe650b9626eae00490cca4cfeb00871ed8b8f389f3a4507b328683"}, | ||||||
|     {file = "asyncpg-0.21.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:aa2e0cb14c01a2f58caeeca7196681b30aa22dd22c82845560b401df5e98e171"}, |     {file = "asyncpg-0.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e3875c82ae609b21e562e6befdc35e52c4290e49d03e7529275d59a0595ca97"}, | ||||||
|     {file = "asyncpg-0.21.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:28584783dd0d21b2a0db3bfe54fb12f21425a4cc015e4419083ea99e6de0de9b"}, |     {file = "asyncpg-0.22.0.tar.gz", hash = "sha256:348ad471d9bdd77f0609a00c860142f47c81c9123f4064d13d65c8569415d802"}, | ||||||
|     {file = "asyncpg-0.21.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:915cebc8a7693c8a5e89804fa106678dbedcc50d0270ebab0b75f16e668bd59b"}, |  | ||||||
|     {file = "asyncpg-0.21.0-cp37-cp37m-win32.whl", hash = "sha256:308b8ba32c42ea1ed84c034320678ec307296bb4faf3fbbeb9f9e20b46db99a5"}, |  | ||||||
|     {file = "asyncpg-0.21.0-cp37-cp37m-win_amd64.whl", hash = "sha256:888593b6688faa7ec1c97ff7f2ca3b5a5b8abb15478fe2a13c5012b607a28737"}, |  | ||||||
|     {file = "asyncpg-0.21.0-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:ecd5232cf64f58caac3b85103f1223fdf20e9eb43bfa053c56ef9e5dd76ab099"}, |  | ||||||
|     {file = "asyncpg-0.21.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:3ade59cef35bffae6dbc6f5f3ef56e1d53c67f0a7adc3cc4c714f07568d2d717"}, |  | ||||||
|     {file = "asyncpg-0.21.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ea26604932719b3612541e606508d9d604211f56a65806ccf8c92c64104f4f8a"}, |  | ||||||
|     {file = "asyncpg-0.21.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7e51d1a012b779e0ebf0195f80d004f65d3c60cc06f0fa1cef9d3e536262abbd"}, |  | ||||||
|     {file = "asyncpg-0.21.0-cp38-cp38-win32.whl", hash = "sha256:615c7e3adb46e1f2e3aff45e4ee9401b4f24f9f7153e5530a0753369be72a5c6"}, |  | ||||||
|     {file = "asyncpg-0.21.0-cp38-cp38-win_amd64.whl", hash = "sha256:823eca36108bd64a8600efe7bbf1230aa00f2defa3be42852f3b61ab40cf1226"}, |  | ||||||
|     {file = "asyncpg-0.21.0.tar.gz", hash = "sha256:53cb2a0eb326f61e34ef4da2db01d87ce9c0ebe396f65a295829df334e31863f"}, |  | ||||||
| ] | ] | ||||||
| atomicwrites = [ | atomicwrites = [ | ||||||
|     {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, |     {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, | ||||||
| @@ -651,21 +646,20 @@ gitdb = [ | |||||||
|     {file = "gitdb-4.0.5.tar.gz", hash = "sha256:c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9"}, |     {file = "gitdb-4.0.5.tar.gz", hash = "sha256:c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9"}, | ||||||
| ] | ] | ||||||
| gitpython = [ | gitpython = [ | ||||||
|     {file = "GitPython-3.1.12-py3-none-any.whl", hash = "sha256:867ec3dfb126aac0f8296b19fb63b8c4a399f32b4b6fafe84c4b10af5fa9f7b5"}, |     {file = "GitPython-3.1.14-py3-none-any.whl", hash = "sha256:3283ae2fba31c913d857e12e5ba5f9a7772bbc064ae2bb09efafa71b0dd4939b"}, | ||||||
|     {file = "GitPython-3.1.12.tar.gz", hash = "sha256:42dbefd8d9e2576c496ed0059f3103dcef7125b9ce16f9d5f9c834aed44a1dac"}, |     {file = "GitPython-3.1.14.tar.gz", hash = "sha256:be27633e7509e58391f10207cd32b2a6cf5b908f92d9cd30da2e514e1137af61"}, | ||||||
| ] | ] | ||||||
| importlib-metadata = [ | importlib-metadata = [ | ||||||
|     {file = "importlib_metadata-3.4.0-py3-none-any.whl", hash = "sha256:ace61d5fc652dc280e7b6b4ff732a9c2d40db2c0f92bc6cb74e07b73d53a1771"}, |     {file = "importlib_metadata-3.7.0-py3-none-any.whl", hash = "sha256:c6af5dbf1126cd959c4a8d8efd61d4d3c83bddb0459a17e554284a077574b614"}, | ||||||
|     {file = "importlib_metadata-3.4.0.tar.gz", hash = "sha256:fa5daa4477a7414ae34e95942e4dd07f62adf589143c875c133c1e53c4eff38d"}, |     {file = "importlib_metadata-3.7.0.tar.gz", hash = "sha256:24499ffde1b80be08284100393955842be4a59c7c16bbf2738aad0e464a8e0aa"}, | ||||||
| ] | ] | ||||||
| iniconfig = [ | iniconfig = [ | ||||||
|     {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, |     {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, | ||||||
|     {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, |     {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, | ||||||
| ] | ] | ||||||
| iso8601 = [ | iso8601 = [ | ||||||
|     {file = "iso8601-0.1.13-py2.py3-none-any.whl", hash = "sha256:694be0743e9f1535ea873bfc7bd6fb62380c62b75822761859428073a17fd39c"}, |     {file = "iso8601-0.1.14-py2.py3-none-any.whl", hash = "sha256:e7e1122f064d626e17d47cd5106bed2c620cb38fe464999e0ddae2b6d2de6004"}, | ||||||
|     {file = "iso8601-0.1.13-py3-none-any.whl", hash = "sha256:6f02f01dd13320a7f280e58516dc8d1950dfaf77527cc365a398cd9de4d3c692"}, |     {file = "iso8601-0.1.14.tar.gz", hash = "sha256:8aafd56fa0290496c5edbb13c311f78fa3a241f0853540da09d9363eae3ebd79"}, | ||||||
|     {file = "iso8601-0.1.13.tar.gz", hash = "sha256:f7dec22af52025d4526be94cc1303c7d8f5379b746a3f54a8c8446384392eeb1"}, |  | ||||||
| ] | ] | ||||||
| isort = [ | isort = [ | ||||||
|     {file = "isort-5.7.0-py3-none-any.whl", hash = "sha256:fff4f0c04e1825522ce6949973e83110a6e907750cd92d128b0d14aaaadbffdc"}, |     {file = "isort-5.7.0-py3-none-any.whl", hash = "sha256:fff4f0c04e1825522ce6949973e83110a6e907750cd92d128b0d14aaaadbffdc"}, | ||||||
| @@ -704,28 +698,28 @@ pycodestyle = [ | |||||||
|     {file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"}, |     {file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"}, | ||||||
| ] | ] | ||||||
| pydantic = [ | pydantic = [ | ||||||
|     {file = "pydantic-1.7.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c59ea046aea25be14dc22d69c97bee629e6d48d2b2ecb724d7fe8806bf5f61cd"}, |     {file = "pydantic-1.8-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:22fe5756c6c57279234e4c4027a3549507aca29e9ee832d6aa39c367cb43c99f"}, | ||||||
|     {file = "pydantic-1.7.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a4143c8d0c456a093387b96e0f5ee941a950992904d88bc816b4f0e72c9a0009"}, |     {file = "pydantic-1.8-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c26d380af3e9a8eb9abe3b6337cea28f057b5425330817c918cf74d0a0a2303d"}, | ||||||
|     {file = "pydantic-1.7.3-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:d8df4b9090b595511906fa48deda47af04e7d092318bfb291f4d45dfb6bb2127"}, |     {file = "pydantic-1.8-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:a0ff36e3f929d76b91d1624c6673dbdc1407358700d117bb7f29d5696c52d288"}, | ||||||
|     {file = "pydantic-1.7.3-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:514b473d264671a5c672dfb28bdfe1bf1afd390f6b206aa2ec9fed7fc592c48e"}, |     {file = "pydantic-1.8-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:d5aeab86837f8799df0d84bec1190e6cc0062d5c5374636b5599234f2b39fe0a"}, | ||||||
|     {file = "pydantic-1.7.3-cp36-cp36m-win_amd64.whl", hash = "sha256:dba5c1f0a3aeea5083e75db9660935da90216f8a81b6d68e67f54e135ed5eb23"}, |     {file = "pydantic-1.8-cp36-cp36m-win_amd64.whl", hash = "sha256:999cc108933425752e45d1bf2f57d3cf091f2a5e8b9b8afab5b8872d2cc7645f"}, | ||||||
|     {file = "pydantic-1.7.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:59e45f3b694b05a69032a0d603c32d453a23f0de80844fb14d55ab0c6c78ff2f"}, |     {file = "pydantic-1.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a989924324513215ad2b2cfd187426e6372f76f507b17361142c0b792294960c"}, | ||||||
|     {file = "pydantic-1.7.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:5b24e8a572e4b4c18f614004dda8c9f2c07328cb5b6e314d6e1bbd536cb1a6c1"}, |     {file = "pydantic-1.8-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:2bc9e9f5d91a29dec53346efc5c719d82297885d89c8a62b971492fba222c68d"}, | ||||||
|     {file = "pydantic-1.7.3-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:b2b054d095b6431cdda2f852a6d2f0fdec77686b305c57961b4c5dd6d863bf3c"}, |     {file = "pydantic-1.8-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:12ed0b175bba65e29dfc5859cd539d3512f58bb776bf620a3d3338501fd0f389"}, | ||||||
|     {file = "pydantic-1.7.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:025bf13ce27990acc059d0c5be46f416fc9b293f45363b3d19855165fee1874f"}, |     {file = "pydantic-1.8-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:26821f61623b01d618bd8b3243f790ac8bd7ae31b388c0e41aa586002cf350eb"}, | ||||||
|     {file = "pydantic-1.7.3-cp37-cp37m-win_amd64.whl", hash = "sha256:6e3874aa7e8babd37b40c4504e3a94cc2023696ced5a0500949f3347664ff8e2"}, |     {file = "pydantic-1.8-cp37-cp37m-win_amd64.whl", hash = "sha256:d361d181a3fb53ebfdc2fb1e3ca55a6b2ad717578a5e119c99641afd11b31a47"}, | ||||||
|     {file = "pydantic-1.7.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e682f6442ebe4e50cb5e1cfde7dda6766fb586631c3e5569f6aa1951fd1a76ef"}, |     {file = "pydantic-1.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91baec8ed771d4c53d71ef549d8e36b0f92a31c32296062d562d1d7074dd1d6e"}, | ||||||
|     {file = "pydantic-1.7.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:185e18134bec5ef43351149fe34fda4758e53d05bb8ea4d5928f0720997b79ef"}, |     {file = "pydantic-1.8-cp38-cp38-manylinux1_i686.whl", hash = "sha256:b4e03c84f4e96e3880c9d34508cccbd0f0df6e7dc14b17f960ea8c71448823a3"}, | ||||||
|     {file = "pydantic-1.7.3-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:f5b06f5099e163295b8ff5b1b71132ecf5866cc6e7f586d78d7d3fd6e8084608"}, |     {file = "pydantic-1.8-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:c8a3600435b83a4f28f5379f3bb574576521180f691828268268e9f172f1b1eb"}, | ||||||
|     {file = "pydantic-1.7.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:24ca47365be2a5a3cc3f4a26dcc755bcdc9f0036f55dcedbd55663662ba145ec"}, |     {file = "pydantic-1.8-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:ccc2ab0a240d01847f3d5f0f9e1582d450a2fc3389db33a7af8e7447b205a935"}, | ||||||
|     {file = "pydantic-1.7.3-cp38-cp38-win_amd64.whl", hash = "sha256:d1fe3f0df8ac0f3a9792666c69a7cd70530f329036426d06b4f899c025aca74e"}, |     {file = "pydantic-1.8-cp38-cp38-win_amd64.whl", hash = "sha256:ad2fae68e185cfae5b6d83e7915352ff0b6e5fa84d84bc6a94c3e2de58327114"}, | ||||||
|     {file = "pydantic-1.7.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f6864844b039805add62ebe8a8c676286340ba0c6d043ae5dea24114b82a319e"}, |     {file = "pydantic-1.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5759a4b276bda5ac2360f00e9b1e711aaac51fabd155b422d27f3339710f4264"}, | ||||||
|     {file = "pydantic-1.7.3-cp39-cp39-manylinux1_i686.whl", hash = "sha256:ecb54491f98544c12c66ff3d15e701612fc388161fd455242447083350904730"}, |     {file = "pydantic-1.8-cp39-cp39-manylinux1_i686.whl", hash = "sha256:865410a6df71fb60294887770d19c67d499689f7ce64245182653952cdbd4183"}, | ||||||
|     {file = "pydantic-1.7.3-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:ffd180ebd5dd2a9ac0da4e8b995c9c99e7c74c31f985ba090ee01d681b1c4b95"}, |     {file = "pydantic-1.8-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:edf37d30ea60179ef067add9772cf42299ea6cd490b3c94335a68f1021944ac4"}, | ||||||
|     {file = "pydantic-1.7.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8d72e814c7821125b16f1553124d12faba88e85405b0864328899aceaad7282b"}, |     {file = "pydantic-1.8-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:4a83d24bcf9ce8e6fa55c379bba1359461eedb85721bfb3151e240871e2b13a8"}, | ||||||
|     {file = "pydantic-1.7.3-cp39-cp39-win_amd64.whl", hash = "sha256:475f2fa134cf272d6631072554f845d0630907fce053926ff634cc6bc45bf1af"}, |     {file = "pydantic-1.8-cp39-cp39-win_amd64.whl", hash = "sha256:77e04800d19acc2a8fbb95fe3d47ff397ce137aa5a2b32cc23a87bac70dda343"}, | ||||||
|     {file = "pydantic-1.7.3-py3-none-any.whl", hash = "sha256:38be427ea01a78206bcaf9a56f835784afcba9e5b88fbdce33bbbfbcd7841229"}, |     {file = "pydantic-1.8-py3-none-any.whl", hash = "sha256:42b8fb1e4e4783c4aa31df44b64714f96aa4deeacbacf3713a8a238ee7df3b2b"}, | ||||||
|     {file = "pydantic-1.7.3.tar.gz", hash = "sha256:213125b7e9e64713d16d988d10997dabc6a1f73f3991e1ff8e35ebb1409c7dc9"}, |     {file = "pydantic-1.8.tar.gz", hash = "sha256:0b71ca069c16470cb00be0acaf0657eb74cbc4ff5f11b42e79647f170956cda3"}, | ||||||
| ] | ] | ||||||
| pyflakes = [ | pyflakes = [ | ||||||
|     {file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"}, |     {file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"}, | ||||||
| @@ -759,8 +753,8 @@ pytest-mock = [ | |||||||
|     {file = "pytest_mock-3.5.1-py3-none-any.whl", hash = "sha256:379b391cfad22422ea2e252bdfc008edd08509029bcde3c25b2c0bd741e0424e"}, |     {file = "pytest_mock-3.5.1-py3-none-any.whl", hash = "sha256:379b391cfad22422ea2e252bdfc008edd08509029bcde3c25b2c0bd741e0424e"}, | ||||||
| ] | ] | ||||||
| pytest-xdist = [ | pytest-xdist = [ | ||||||
|     {file = "pytest-xdist-2.2.0.tar.gz", hash = "sha256:1d8edbb1a45e8e1f8e44b1260583107fc23f8bc8da6d18cb331ff61d41258ecf"}, |     {file = "pytest-xdist-2.2.1.tar.gz", hash = "sha256:718887296892f92683f6a51f25a3ae584993b06f7076ce1e1fd482e59a8220a2"}, | ||||||
|     {file = "pytest_xdist-2.2.0-py3-none-any.whl", hash = "sha256:f127e11e84ad37cc1de1088cb2990f3c354630d428af3f71282de589c5bb779b"}, |     {file = "pytest_xdist-2.2.1-py3-none-any.whl", hash = "sha256:2447a1592ab41745955fb870ac7023026f20a5f0bfccf1b52a879bd193d46450"}, | ||||||
| ] | ] | ||||||
| pytz = [ | pytz = [ | ||||||
|     {file = "pytz-2020.5-py2.py3-none-any.whl", hash = "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4"}, |     {file = "pytz-2020.5-py2.py3-none-any.whl", hash = "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4"}, | ||||||
|   | |||||||
| @@ -39,8 +39,8 @@ class Email(Model): | |||||||
|  |  | ||||||
|  |  | ||||||
| class Category(Model): | class Category(Model): | ||||||
|     slug = fields.CharField(max_length=200) |     slug = fields.CharField(max_length=100) | ||||||
|     name = fields.CharField(max_length=200) |     name = fields.CharField(max_length=200, null=True) | ||||||
|     user = fields.ForeignKeyField("models.User", description="User") |     user = fields.ForeignKeyField("models.User", description="User") | ||||||
|     created_at = fields.DatetimeField(auto_now_add=True) |     created_at = fields.DatetimeField(auto_now_add=True) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -15,8 +15,8 @@ def test_create_table(): | |||||||
|             ret |             ret | ||||||
|             == """CREATE TABLE IF NOT EXISTS `category` ( |             == """CREATE TABLE IF NOT EXISTS `category` ( | ||||||
|     `id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT, |     `id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT, | ||||||
|     `slug` VARCHAR(200) NOT NULL, |     `slug` VARCHAR(100) NOT NULL, | ||||||
|     `name` VARCHAR(200) NOT NULL, |     `name` VARCHAR(200), | ||||||
|     `created_at` DATETIME(6) NOT NULL  DEFAULT CURRENT_TIMESTAMP(6), |     `created_at` DATETIME(6) NOT NULL  DEFAULT CURRENT_TIMESTAMP(6), | ||||||
|     `user_id` INT NOT NULL COMMENT 'User', |     `user_id` INT NOT NULL COMMENT 'User', | ||||||
|     CONSTRAINT `fk_category_user_e2e3874c` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE |     CONSTRAINT `fk_category_user_e2e3874c` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE | ||||||
| @@ -28,8 +28,8 @@ def test_create_table(): | |||||||
|             ret |             ret | ||||||
|             == """CREATE TABLE IF NOT EXISTS "category" ( |             == """CREATE TABLE IF NOT EXISTS "category" ( | ||||||
|     "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, |     "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, | ||||||
|     "slug" VARCHAR(200) NOT NULL, |     "slug" VARCHAR(100) NOT NULL, | ||||||
|     "name" VARCHAR(200) NOT NULL, |     "name" VARCHAR(200), | ||||||
|     "created_at" TIMESTAMP NOT NULL  DEFAULT CURRENT_TIMESTAMP, |     "created_at" TIMESTAMP NOT NULL  DEFAULT CURRENT_TIMESTAMP, | ||||||
|     "user_id" INT NOT NULL REFERENCES "user" ("id") ON DELETE CASCADE /* User */ |     "user_id" INT NOT NULL REFERENCES "user" ("id") ON DELETE CASCADE /* User */ | ||||||
| );""" | );""" | ||||||
| @@ -40,8 +40,8 @@ def test_create_table(): | |||||||
|             ret |             ret | ||||||
|             == """CREATE TABLE IF NOT EXISTS "category" ( |             == """CREATE TABLE IF NOT EXISTS "category" ( | ||||||
|     "id" SERIAL NOT NULL PRIMARY KEY, |     "id" SERIAL NOT NULL PRIMARY KEY, | ||||||
|     "slug" VARCHAR(200) NOT NULL, |     "slug" VARCHAR(100) NOT NULL, | ||||||
|     "name" VARCHAR(200) NOT NULL, |     "name" VARCHAR(200), | ||||||
|     "created_at" TIMESTAMPTZ NOT NULL  DEFAULT CURRENT_TIMESTAMP, |     "created_at" TIMESTAMPTZ NOT NULL  DEFAULT CURRENT_TIMESTAMP, | ||||||
|     "user_id" INT NOT NULL REFERENCES "user" ("id") ON DELETE CASCADE |     "user_id" INT NOT NULL REFERENCES "user" ("id") ON DELETE CASCADE | ||||||
| ); | ); | ||||||
| @@ -60,9 +60,9 @@ def test_drop_table(): | |||||||
| def test_add_column(): | def test_add_column(): | ||||||
|     ret = Migrate.ddl.add_column(Category, Category._meta.fields_map.get("name").describe(False)) |     ret = Migrate.ddl.add_column(Category, Category._meta.fields_map.get("name").describe(False)) | ||||||
|     if isinstance(Migrate.ddl, MysqlDDL): |     if isinstance(Migrate.ddl, MysqlDDL): | ||||||
|         assert ret == "ALTER TABLE `category` ADD `name` VARCHAR(200) NOT NULL" |         assert ret == "ALTER TABLE `category` ADD `name` VARCHAR(200)" | ||||||
|     else: |     else: | ||||||
|         assert ret == 'ALTER TABLE "category" ADD "name" VARCHAR(200) NOT NULL' |         assert ret == 'ALTER TABLE "category" ADD "name" VARCHAR(200)' | ||||||
|  |  | ||||||
|  |  | ||||||
| def test_modify_column(): | def test_modify_column(): | ||||||
| @@ -74,7 +74,7 @@ def test_modify_column(): | |||||||
|     ) |     ) | ||||||
|     ret1 = Migrate.ddl.modify_column(User, User._meta.fields_map.get("is_active").describe(False)) |     ret1 = Migrate.ddl.modify_column(User, User._meta.fields_map.get("is_active").describe(False)) | ||||||
|     if isinstance(Migrate.ddl, MysqlDDL): |     if isinstance(Migrate.ddl, MysqlDDL): | ||||||
|         assert ret0 == "ALTER TABLE `category` MODIFY COLUMN `name` VARCHAR(200) NOT NULL" |         assert ret0 == "ALTER TABLE `category` MODIFY COLUMN `name` VARCHAR(200)" | ||||||
|     elif isinstance(Migrate.ddl, PostgresDDL): |     elif isinstance(Migrate.ddl, PostgresDDL): | ||||||
|         assert ret0 == 'ALTER TABLE "category" ALTER COLUMN "name" TYPE VARCHAR(200)' |         assert ret0 == 'ALTER TABLE "category" ALTER COLUMN "name" TYPE VARCHAR(200)' | ||||||
|  |  | ||||||
| @@ -127,7 +127,7 @@ def test_alter_column_null(): | |||||||
|         Category, Category._meta.fields_map.get("name").describe(False) |         Category, Category._meta.fields_map.get("name").describe(False) | ||||||
|     ) |     ) | ||||||
|     if isinstance(Migrate.ddl, PostgresDDL): |     if isinstance(Migrate.ddl, PostgresDDL): | ||||||
|         assert ret == 'ALTER TABLE "category" ALTER COLUMN "name" SET NOT NULL' |         assert ret == 'ALTER TABLE "category" ALTER COLUMN "name" DROP NOT NULL' | ||||||
|  |  | ||||||
|  |  | ||||||
| def test_set_comment(): | def test_set_comment(): | ||||||
|   | |||||||
| @@ -783,6 +783,8 @@ def test_migrate(mocker: MockerFixture): | |||||||
|     if isinstance(Migrate.ddl, MysqlDDL): |     if isinstance(Migrate.ddl, MysqlDDL): | ||||||
|         assert sorted(Migrate.upgrade_operators) == sorted( |         assert sorted(Migrate.upgrade_operators) == sorted( | ||||||
|             [ |             [ | ||||||
|  |                 "ALTER TABLE `category` MODIFY COLUMN `name` VARCHAR(200)", | ||||||
|  |                 "ALTER TABLE `category` MODIFY COLUMN `slug` VARCHAR(100) NOT NULL", | ||||||
|                 "ALTER TABLE `config` ADD `user_id` INT NOT NULL  COMMENT 'User'", |                 "ALTER TABLE `config` ADD `user_id` INT NOT NULL  COMMENT 'User'", | ||||||
|                 "ALTER TABLE `config` ADD CONSTRAINT `fk_config_user_17daa970` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE", |                 "ALTER TABLE `config` ADD CONSTRAINT `fk_config_user_17daa970` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE", | ||||||
|                 "ALTER TABLE `config` ALTER COLUMN `status` DROP DEFAULT", |                 "ALTER TABLE `config` ALTER COLUMN `status` DROP DEFAULT", | ||||||
| @@ -795,7 +797,8 @@ def test_migrate(mocker: MockerFixture): | |||||||
|                 "ALTER TABLE `product` ADD UNIQUE INDEX `uid_product_name_f14935` (`name`, `type`)", |                 "ALTER TABLE `product` ADD UNIQUE INDEX `uid_product_name_f14935` (`name`, `type`)", | ||||||
|                 "ALTER TABLE `product` ALTER COLUMN `view_num` SET DEFAULT 0", |                 "ALTER TABLE `product` ALTER COLUMN `view_num` SET DEFAULT 0", | ||||||
|                 "ALTER TABLE `user` DROP COLUMN `avatar`", |                 "ALTER TABLE `user` DROP COLUMN `avatar`", | ||||||
|                 "ALTER TABLE `user` CHANGE password password VARCHAR(100)", |                 "ALTER TABLE `user` MODIFY COLUMN `password` VARCHAR(100) NOT NULL", | ||||||
|  |                 "ALTER TABLE `user` MODIFY COLUMN `username` VARCHAR(20) NOT NULL", | ||||||
|                 "ALTER TABLE `user` ADD UNIQUE INDEX `uid_user_usernam_9987ab` (`username`)", |                 "ALTER TABLE `user` ADD UNIQUE INDEX `uid_user_usernam_9987ab` (`username`)", | ||||||
|                 "CREATE TABLE `email_user` (`email_id` INT NOT NULL REFERENCES `email` (`email_id`) ON DELETE CASCADE,`user_id` INT NOT NULL REFERENCES `user` (`id`) ON DELETE CASCADE) CHARACTER SET utf8mb4", |                 "CREATE TABLE `email_user` (`email_id` INT NOT NULL REFERENCES `email` (`email_id`) ON DELETE CASCADE,`user_id` INT NOT NULL REFERENCES `user` (`id`) ON DELETE CASCADE) CHARACTER SET utf8mb4", | ||||||
|             ] |             ] | ||||||
| @@ -803,6 +806,8 @@ def test_migrate(mocker: MockerFixture): | |||||||
|  |  | ||||||
|         assert sorted(Migrate.downgrade_operators) == sorted( |         assert sorted(Migrate.downgrade_operators) == sorted( | ||||||
|             [ |             [ | ||||||
|  |                 "ALTER TABLE `category` MODIFY COLUMN `name` VARCHAR(200) NOT NULL", | ||||||
|  |                 "ALTER TABLE `category` MODIFY COLUMN `slug` VARCHAR(200) NOT NULL", | ||||||
|                 "ALTER TABLE `config` DROP COLUMN `user_id`", |                 "ALTER TABLE `config` DROP COLUMN `user_id`", | ||||||
|                 "ALTER TABLE `config` DROP FOREIGN KEY `fk_config_user_17daa970`", |                 "ALTER TABLE `config` DROP FOREIGN KEY `fk_config_user_17daa970`", | ||||||
|                 "ALTER TABLE `config` ALTER COLUMN `status` SET DEFAULT 1", |                 "ALTER TABLE `config` ALTER COLUMN `status` SET DEFAULT 1", | ||||||
| @@ -816,7 +821,8 @@ def test_migrate(mocker: MockerFixture): | |||||||
|                 "ALTER TABLE `product` ALTER COLUMN `view_num` DROP DEFAULT", |                 "ALTER TABLE `product` ALTER COLUMN `view_num` DROP DEFAULT", | ||||||
|                 "ALTER TABLE `user` ADD `avatar` VARCHAR(200) NOT NULL  DEFAULT ''", |                 "ALTER TABLE `user` ADD `avatar` VARCHAR(200) NOT NULL  DEFAULT ''", | ||||||
|                 "ALTER TABLE `user` DROP INDEX `idx_user_usernam_9987ab`", |                 "ALTER TABLE `user` DROP INDEX `idx_user_usernam_9987ab`", | ||||||
|                 "ALTER TABLE `user` CHANGE password password VARCHAR(200)", |                 "ALTER TABLE `user` MODIFY COLUMN `password` VARCHAR(200) NOT NULL", | ||||||
|  |                 "ALTER TABLE `user` MODIFY COLUMN `username` VARCHAR(20) NOT NULL", | ||||||
|                 "DROP TABLE IF EXISTS `email_user`", |                 "DROP TABLE IF EXISTS `email_user`", | ||||||
|             ] |             ] | ||||||
|         ) |         ) | ||||||
| @@ -824,6 +830,8 @@ def test_migrate(mocker: MockerFixture): | |||||||
|     elif isinstance(Migrate.ddl, PostgresDDL): |     elif isinstance(Migrate.ddl, PostgresDDL): | ||||||
|         assert sorted(Migrate.upgrade_operators) == sorted( |         assert sorted(Migrate.upgrade_operators) == sorted( | ||||||
|             [ |             [ | ||||||
|  |                 'ALTER TABLE "category" ALTER COLUMN "name" TYPE VARCHAR(200)', | ||||||
|  |                 'ALTER TABLE "category" ALTER COLUMN "slug" TYPE VARCHAR(100)', | ||||||
|                 'ALTER TABLE "config" ADD "user_id" INT NOT NULL', |                 'ALTER TABLE "config" ADD "user_id" INT NOT NULL', | ||||||
|                 'ALTER TABLE "config" ADD CONSTRAINT "fk_config_user_17daa970" FOREIGN KEY ("user_id") REFERENCES "user" ("id") ON DELETE CASCADE', |                 'ALTER TABLE "config" ADD CONSTRAINT "fk_config_user_17daa970" FOREIGN KEY ("user_id") REFERENCES "user" ("id") ON DELETE CASCADE', | ||||||
|                 'ALTER TABLE "config" ALTER COLUMN "status" DROP DEFAULT', |                 'ALTER TABLE "config" ALTER COLUMN "status" DROP DEFAULT', | ||||||
| @@ -833,16 +841,21 @@ def test_migrate(mocker: MockerFixture): | |||||||
|                 'ALTER TABLE "email" RENAME COLUMN "id" TO "email_id"', |                 'ALTER TABLE "email" RENAME COLUMN "id" TO "email_id"', | ||||||
|                 'ALTER TABLE "email" DROP CONSTRAINT "fk_email_user_5b58673d"', |                 'ALTER TABLE "email" DROP CONSTRAINT "fk_email_user_5b58673d"', | ||||||
|                 'CREATE INDEX "idx_email_email_4a1a33" ON "email" ("email")', |                 'CREATE INDEX "idx_email_email_4a1a33" ON "email" ("email")', | ||||||
|  |                 'ALTER TABLE "user" ALTER COLUMN "username" TYPE VARCHAR(20)', | ||||||
|                 'CREATE UNIQUE INDEX "uid_product_name_f14935" ON "product" ("name", "type")', |                 'CREATE UNIQUE INDEX "uid_product_name_f14935" ON "product" ("name", "type")', | ||||||
|                 'ALTER TABLE "product" ALTER COLUMN "view_num" SET DEFAULT 0', |                 'ALTER TABLE "product" ALTER COLUMN "view_num" SET DEFAULT 0', | ||||||
|                 'ALTER TABLE "user" DROP COLUMN "avatar"', |                 'ALTER TABLE "user" DROP COLUMN "avatar"', | ||||||
|                 'ALTER TABLE "user" CHANGE password password VARCHAR(100)', |                 'ALTER TABLE "user" ALTER COLUMN "password" TYPE VARCHAR(100)', | ||||||
|                 'CREATE UNIQUE INDEX "uid_user_usernam_9987ab" ON "user" ("username")', |                 'CREATE UNIQUE INDEX "uid_user_usernam_9987ab" ON "user" ("username")', | ||||||
|                 'CREATE TABLE "email_user" ("email_id" INT NOT NULL REFERENCES "email" ("email_id") ON DELETE CASCADE,"user_id" INT NOT NULL REFERENCES "user" ("id") ON DELETE CASCADE)', |                 'CREATE TABLE "email_user" ("email_id" INT NOT NULL REFERENCES "email" ("email_id") ON DELETE CASCADE,"user_id" INT NOT NULL REFERENCES "user" ("id") ON DELETE CASCADE)', | ||||||
|             ] |             ] | ||||||
|         ) |         ) | ||||||
|         assert sorted(Migrate.downgrade_operators) == sorted( |         assert sorted(Migrate.downgrade_operators) == sorted( | ||||||
|             [ |             [ | ||||||
|  |                 'ALTER TABLE "category" ALTER COLUMN "name" TYPE VARCHAR(200)', | ||||||
|  |                 'ALTER TABLE "category" ALTER COLUMN "slug" TYPE VARCHAR(200)', | ||||||
|  |                 'ALTER TABLE "user" ALTER COLUMN "password" TYPE VARCHAR(200)', | ||||||
|  |                 'ALTER TABLE "user" ALTER COLUMN "username" TYPE VARCHAR(20)', | ||||||
|                 'ALTER TABLE "config" DROP COLUMN "user_id"', |                 'ALTER TABLE "config" DROP COLUMN "user_id"', | ||||||
|                 'ALTER TABLE "config" DROP CONSTRAINT "fk_config_user_17daa970"', |                 'ALTER TABLE "config" DROP CONSTRAINT "fk_config_user_17daa970"', | ||||||
|                 'ALTER TABLE "config" ALTER COLUMN "status" SET DEFAULT 1', |                 'ALTER TABLE "config" ALTER COLUMN "status" SET DEFAULT 1', | ||||||
| @@ -856,15 +869,11 @@ def test_migrate(mocker: MockerFixture): | |||||||
|                 'ALTER TABLE "user" ADD "avatar" VARCHAR(200) NOT NULL  DEFAULT \'\'', |                 'ALTER TABLE "user" ADD "avatar" VARCHAR(200) NOT NULL  DEFAULT \'\'', | ||||||
|                 'DROP INDEX "idx_user_usernam_9987ab"', |                 'DROP INDEX "idx_user_usernam_9987ab"', | ||||||
|                 'DROP INDEX "uid_product_name_f14935"', |                 'DROP INDEX "uid_product_name_f14935"', | ||||||
|                 'ALTER TABLE "user" CHANGE password password VARCHAR(200)', |  | ||||||
|                 'DROP TABLE IF EXISTS "email_user"', |                 'DROP TABLE IF EXISTS "email_user"', | ||||||
|             ] |             ] | ||||||
|         ) |         ) | ||||||
|     elif isinstance(Migrate.ddl, SqliteDDL): |     elif isinstance(Migrate.ddl, SqliteDDL): | ||||||
|         assert Migrate.upgrade_operators == [ |         assert Migrate.upgrade_operators == [] | ||||||
|             'ALTER TABLE "config" ADD "user_id" INT NOT NULL  /* User */', |  | ||||||
|             'ALTER TABLE "config" ADD CONSTRAINT "fk_config_user_17daa970" FOREIGN KEY ("user_id") REFERENCES "user" ("id") ON DELETE CASCADE', |  | ||||||
|         ] |  | ||||||
|  |  | ||||||
|         assert Migrate.downgrade_operators == [] |         assert Migrate.downgrade_operators == [] | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user