From d2e0a68351449eb49843a0ab5ccc608f7552201f Mon Sep 17 00:00:00 2001 From: long2ice Date: Wed, 2 Dec 2020 23:03:15 +0800 Subject: [PATCH] Fix packaging error. (#92) --- CHANGELOG.md | 1 + aerich/migrate.py | 10 ++++------ aerich/utils.py | 12 +++++++++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a82424..4e521e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Use `pathlib` for path resolving. (#89) - Fix upgrade in new db. (#96) +- Fix packaging error. (#92) ### 0.4.1 diff --git a/aerich/migrate.py b/aerich/migrate.py index 3935b74..2b51b28 100644 --- a/aerich/migrate.py +++ b/aerich/migrate.py @@ -5,11 +5,9 @@ from importlib import import_module from io import StringIO from pathlib import Path -from typing import Dict, List, Optional, Tuple, Type, Union +from typing import Dict, List, Optional, Tuple, Type import click -from packaging import version -from packaging.version import LegacyVersion, Version from tortoise import ( BackwardFKRelation, BackwardOneToOneRelation, @@ -45,7 +43,7 @@ class Migrate: app: str migrate_location: str dialect: str - _db_version: Union[LegacyVersion, Version] = None + _db_version: Optional[str] = None @classmethod def get_old_model_file(cls, app: str, location: str): @@ -77,7 +75,7 @@ async def _get_db_version(cls, connection: BaseDBAsyncClient): if cls.dialect == "mysql": sql = "select version() as version" ret = await connection.execute_query(sql) - cls._db_version = version.parse(ret[1][0].get("version")) + cls._db_version = ret[1][0].get("version") @classmethod async def init_with_old_models(cls, config: dict, app: str, location: str): @@ -315,7 +313,7 @@ def diff_model(cls, old_model: Type[Model], new_model: Type[Model], upgrade=True if ( cls.dialect == "mysql" and cls._db_version - and cls._db_version.major == 5 + and cls._db_version.startswith("5.") ): cls._add_operator( cls._change_field(new_model, old_field, new_field), diff --git a/aerich/utils.py b/aerich/utils.py index 20560c9..5038382 100644 --- a/aerich/utils.py +++ b/aerich/utils.py @@ -5,14 +5,20 @@ from tortoise import BaseDBAsyncClient, Tortoise -def get_app_connection_name(config, app) -> str: +def get_app_connection_name(config, app_name: str) -> str: """ get connection name :param config: - :param app: + :param app_name: :return: """ - return config.get("apps").get(app).get("default_connection", "default") + app = config.get("apps").get(app_name) + if app: + return app.get("default_connection", "default") + raise BadOptionUsage( + option_name="--app", + message=f'Can\'t get app named "{app_name}"', + ) def get_app_connection(config, app) -> BaseDBAsyncClient: