diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d23a28806..c1423d922 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -13,6 +13,16 @@ Changelog async def test_run_sqlite_only(self): ... +* Added per-field indexes. + + When setting `index=True` on a field, Tortoise will now generate an index for it. + + .. note:: + Due to MySQL limitation of not supporting conditional index creation, + if `safe=True` (the default) is set, it won't create the index and emit a warning about it. + + We plan to work around this limitation in a future release. + - Performance fix with PyPika for small fetch queries - Remove parameter hack now that PyPika support Parametrized queries - Fix typos in JSONField docstring diff --git a/requirements-dev.txt b/requirements-dev.txt index 5246c243a..6bc95bd5f 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -13,7 +13,7 @@ asn1crypto==0.24.0 # via cryptography astroid==2.1.0 # via pylint asyncpg==0.18.3 asynctest==0.12.2 -atomicwrites==1.2.1 # via pytest +atomicwrites==1.3.0 # via pytest attrs==18.2.0 # via pytest babel==2.6.0 # via sphinx bandit==1.5.1 @@ -31,9 +31,10 @@ coveralls==1.5.1 cryptography==2.5 # via pymysql docopt==0.6.2 # via coveralls docutils==0.14 +entrypoints==0.3 # via flake8 filelock==3.0.10 # via tox flake8-isort==2.6.0 -flake8==3.6.0 # via flake8-isort +flake8==3.7.5 # via flake8-isort gitdb2==2.0.5 # via gitpython gitpython==2.1.11 # via bandit green==2.13.0 @@ -50,42 +51,42 @@ mypy-extensions==0.4.1 # via mypy mypy==0.660 nose2==0.8.0 packaging==19.0 # via sphinx -pbr==5.1.1 # via stevedore -pip-tools==3.2.0 +pbr==5.1.2 # via stevedore +pip-tools==3.3.2 pkginfo==1.5.0.1 # via twine pluggy==0.8.1 # via pytest, tox py==1.7.0 # via pytest, tox -pycodestyle==2.4.0 # via flake8 +pycodestyle==2.5.0 # via flake8 pycparser==2.19 # via cffi -pyflakes==2.0.0 # via flake8 +pyflakes==2.1.0 # via flake8 pygments==2.3.1 pylint==2.2.2 pymysql==0.9.2 # via aiomysql pyparsing==2.3.1 # via packaging -pypika==0.22.3 -pytest==4.1.1 +pypika==0.23.0 +pytest==4.2.0 pytz==2018.9 # via babel pyyaml==3.13 readme-renderer==24.0 # via twine -requests-toolbelt==0.8.0 # via twine +requests-toolbelt==0.9.1 # via twine requests==2.21.0 # via coveralls, requests-toolbelt, sphinx, twine six==1.12.0 # via astroid, bandit, bleach, cryptography, more-itertools, nose2, packaging, pip-tools, pytest, readme-renderer, sphinx, stevedore, tox smmap2==2.0.5 # via gitdb2 snowballstemmer==1.2.1 # via sphinx sphinx-autodoc-typehints==1.4.0 -sphinx==1.8.3 +sphinx==1.8.4 sphinxcontrib-websupport==1.1.0 # via sphinx stevedore==1.30.0 # via bandit termstyle==0.1.11 # via green -testfixtures==6.4.3 # via flake8-isort +testfixtures==6.5.0 # via flake8-isort toml==0.10.0 # via tox tox==3.7.0 -tqdm==4.29.1 # via twine +tqdm==4.30.0 # via twine twine==1.12.1 typed-ast==1.2.0 # via astroid, mypy unidecode==1.0.23 # via green urllib3==1.24.1 # via requests -virtualenv==16.2.0 # via tox +virtualenv==16.3.0 # via tox webencodings==0.5.1 # via bleach wrapt==1.11.1 # via astroid yapf==0.25.0 diff --git a/requirements-pypy.txt b/requirements-pypy.txt index c96775778..f90845ec4 100644 --- a/requirements-pypy.txt +++ b/requirements-pypy.txt @@ -20,7 +20,7 @@ green==2.13.0 immutables==0.6 # via contextvars pycparser==2.19 # via cffi pymysql==0.9.2 # via aiomysql -pypika==0.22.3 +pypika==0.23.0 pyyaml==3.13 six==1.12.0 # via cryptography termstyle==0.1.11 # via green diff --git a/tortoise/__init__.py b/tortoise/__init__.py index 919254a79..3c52d6ff0 100644 --- a/tortoise/__init__.py +++ b/tortoise/__init__.py @@ -392,4 +392,4 @@ async def do_stuff(): loop.run_until_complete(Tortoise.close_connections()) -__version__ = "0.11.2" +__version__ = "0.11.3" diff --git a/tortoise/contrib/test/__init__.py b/tortoise/contrib/test/__init__.py index aaf9324db..f6f215cf8 100644 --- a/tortoise/contrib/test/__init__.py +++ b/tortoise/contrib/test/__init__.py @@ -58,7 +58,7 @@ async def _init_db(config: dict) -> None: pass await Tortoise.init(config, _create_db=True) - await Tortoise.generate_schemas() + await Tortoise.generate_schemas(safe=False) def _restore_default() -> None: