From 364735f80400b63ea2011919274e7f00b47d6f5d Mon Sep 17 00:00:00 2001 From: long2ice Date: Sun, 21 Mar 2021 20:43:05 +0800 Subject: [PATCH] Fix rename field on the field add. (#134) --- CHANGELOG.md | 4 ++++ aerich/__init__.py | 2 +- aerich/migrate.py | 25 +++++++++++++++++-------- poetry.lock | 30 ++++++++++++++++-------------- pyproject.toml | 4 ++-- 5 files changed, 40 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b03932c..6b776c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.5 +### 0.5.2 + +- Fix rename field on the field add. (#134) + ### 0.5.1 - Fix tortoise connections not being closed properly. (#120) diff --git a/aerich/__init__.py b/aerich/__init__.py index dd9b22c..7225152 100644 --- a/aerich/__init__.py +++ b/aerich/__init__.py @@ -1 +1 @@ -__version__ = "0.5.1" +__version__ = "0.5.2" diff --git a/aerich/migrate.py b/aerich/migrate.py index 7fa4922..95700cd 100644 --- a/aerich/migrate.py +++ b/aerich/migrate.py @@ -257,14 +257,23 @@ class Migrate: old_data_field_name = old_data_field.get("name") if len(changes) == 2: # rename field - if changes[0] == ( - "change", - "name", - (old_data_field_name, new_data_field_name), - ) and changes[1] == ( - "change", - "db_column", - (old_data_field.get("db_column"), new_data_field.get("db_column")), + if ( + changes[0] + == ( + "change", + "name", + (old_data_field_name, new_data_field_name), + ) + and changes[1] + == ( + "change", + "db_column", + ( + old_data_field.get("db_column"), + new_data_field.get("db_column"), + ), + ) + and old_data_field_name not in new_data_fields_name ): if upgrade: is_rename = click.prompt( diff --git a/poetry.lock b/poetry.lock index 35f0613..de26600 100644 --- a/poetry.lock +++ b/poetry.lock @@ -269,7 +269,7 @@ python-versions = "*" [[package]] name = "isort" -version = "5.7.0" +version = "5.8.0" description = "A Python utility / library to sort Python imports." category = "dev" optional = false @@ -404,12 +404,12 @@ optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] -name = "pypika" -version = "0.44.1" -description = "A SQL query builder API for Python" +name = "pypika-tortoise" +version = "0.1.0" +description = "Forked from pypika and streamline just for tortoise-orm" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.7,<4.0" [[package]] name = "pytest" @@ -552,7 +552,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "tortoise-orm" -version = "0.16.21" +version = "0.17.0" description = "Easy async ORM for python, built with relations in mind" category = "main" optional = false @@ -561,12 +561,13 @@ python-versions = ">=3.7,<4.0" [package.dependencies] aiosqlite = ">=0.16.0,<0.17.0" iso8601 = ">=0.1.13,<0.2.0" -pypika = ">=0.44.0,<0.45.0" +pypika-tortoise = ">=0.1.0,<0.2.0" pytz = ">=2020.4,<2021.0" [package.extras] docs = ["pygments", "cloud-sptheme", "docutils", "sphinx"] aiomysql = ["aiomysql"] +asyncmy = ["asyncmy"] asyncpg = ["asyncpg"] accel = ["ciso8601 (>=2.1.2,<3.0.0)", "python-rapidjson", "uvloop (>=0.14.0,<0.15.0)"] @@ -606,7 +607,7 @@ asyncpg = ["asyncpg"] [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "27f12254888e96c2b78ba5d786091fbb0bc98efcff2d71b59f7165b5b6edb1a3" +content-hash = "3b8e107e2fd01362244f27f783c8dcfd792e4ea3c98a0579e4b987e0c5681b5d" [metadata.files] aiomysql = [ @@ -755,8 +756,8 @@ iso8601 = [ {file = "iso8601-0.1.14.tar.gz", hash = "sha256:8aafd56fa0290496c5edbb13c311f78fa3a241f0853540da09d9363eae3ebd79"}, ] isort = [ - {file = "isort-5.7.0-py3-none-any.whl", hash = "sha256:fff4f0c04e1825522ce6949973e83110a6e907750cd92d128b0d14aaaadbffdc"}, - {file = "isort-5.7.0.tar.gz", hash = "sha256:c729845434366216d320e936b8ad6f9d681aab72dc7cbc2d51bedc3582f3ad1e"}, + {file = "isort-5.8.0-py3-none-any.whl", hash = "sha256:2bb1680aad211e3c9944dbce1d4ba09a989f04e238296c87fe2139faa26d655d"}, + {file = "isort-5.8.0.tar.gz", hash = "sha256:0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6"}, ] mccabe = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, @@ -830,8 +831,9 @@ pyparsing = [ {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, ] -pypika = [ - {file = "pypika-0.44.1.tar.gz", hash = "sha256:316839144d3ad7656405a10cdd26d2181f16bb8ff7e256d616ffb50335ca1fcb"}, +pypika-tortoise = [ + {file = "pypika-tortoise-0.1.0.tar.gz", hash = "sha256:7176e98ff0cf7c311d4ba58f28f1755956265dee2f9781e65e1304a67a3e5aa5"}, + {file = "pypika_tortoise-0.1.0-py3-none-any.whl", hash = "sha256:ec83b0b2964be01ef563f5f019b0332a18177604e841c47ad39d798798c6dfe9"}, ] pytest = [ {file = "pytest-6.2.2-py3-none-any.whl", hash = "sha256:b574b57423e818210672e07ca1fa90aaf194a4f63f3ab909a2c67ebb22913839"}, @@ -940,8 +942,8 @@ toml = [ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] tortoise-orm = [ - {file = "tortoise-orm-0.16.21.tar.gz", hash = "sha256:9729eac3eb58e59c32e2815d5ff1941a71e1eecd63834ae7199b6084c1a454b5"}, - {file = "tortoise_orm-0.16.21-py3-none-any.whl", hash = "sha256:f36aa16d07bab69b141e91f8791c0f878fbcc0acfffa3c671ea10a6ad73c54ed"}, + {file = "tortoise-orm-0.17.0.tar.gz", hash = "sha256:d59c9ba2e8f3bb165f6ba7880ae0f0127659aa143750de419850a06329ca27ff"}, + {file = "tortoise_orm-0.17.0-py3-none-any.whl", hash = "sha256:39da891a61871a9e5e980007776c7d1f9b61e6b8601eb6482c90f89b30334638"}, ] typed-ast = [ {file = "typed_ast-1.4.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:7703620125e4fb79b64aa52427ec192822e9f45d37d4b6625ab37ef403e1df70"}, diff --git a/pyproject.toml b/pyproject.toml index be4f999..4916628 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "aerich" -version = "0.5.1" +version = "0.5.2" description = "A database migrations tool for Tortoise ORM." authors = ["long2ice "] license = "Apache-2.0" @@ -16,7 +16,7 @@ include = ["CHANGELOG.md", "LICENSE", "README.md"] [tool.poetry.dependencies] python = "^3.7" -tortoise-orm = "^0.16.21" +tortoise-orm = "*" click = "*" pydantic = "*" aiomysql = { version = "*", optional = true }