Fix migrate to new database error
This commit is contained in:
		| @@ -2,6 +2,10 @@ | ||||
|  | ||||
| ## 0.3 | ||||
|  | ||||
| ### 0.3.2 | ||||
|  | ||||
| - Fix migrate to new database error. (#62) | ||||
|  | ||||
| ### 0.3.1 | ||||
|  | ||||
| - Fix first version error. | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| __version__ = "0.3.1" | ||||
| __version__ = "0.3.2" | ||||
|   | ||||
| @@ -4,7 +4,7 @@ import re | ||||
| from datetime import datetime | ||||
| from importlib import import_module | ||||
| from io import StringIO | ||||
| from typing import Dict, List, Tuple, Type | ||||
| from typing import Dict, List, Optional, Tuple, Type | ||||
|  | ||||
| import click | ||||
| from tortoise import ( | ||||
| @@ -15,6 +15,7 @@ from tortoise import ( | ||||
|     Model, | ||||
|     Tortoise, | ||||
| ) | ||||
| from tortoise.exceptions import OperationalError | ||||
| from tortoise.fields import Field | ||||
|  | ||||
| from aerich.ddl import BaseDDL | ||||
| @@ -53,8 +54,11 @@ class Migrate: | ||||
|         ) | ||||
|  | ||||
|     @classmethod | ||||
|     async def get_last_version(cls) -> Aerich: | ||||
|     async def get_last_version(cls) -> Optional[Aerich]: | ||||
|         try: | ||||
|             return await Aerich.filter(app=cls.app).first() | ||||
|         except OperationalError: | ||||
|             pass | ||||
|  | ||||
|     @classmethod | ||||
|     def remove_old_model_file(cls, app: str, location: str): | ||||
| @@ -67,16 +71,15 @@ class Migrate: | ||||
|     async def init_with_old_models(cls, config: dict, app: str, location: str): | ||||
|         await Tortoise.init(config=config) | ||||
|         last_version = await cls.get_last_version() | ||||
|         cls.app = app | ||||
|         cls.migrate_location = os.path.join(location, app) | ||||
|         if last_version: | ||||
|             content = last_version.content | ||||
|             with open(cls.get_old_model_file(app, location), "w") as f: | ||||
|                 f.write(content) | ||||
|  | ||||
|             migrate_config = cls._get_migrate_config(config, app, location) | ||||
|         cls.app = app | ||||
|             cls.migrate_config = migrate_config | ||||
|         cls.migrate_location = os.path.join(location, app) | ||||
|  | ||||
|             await Tortoise.init(config=migrate_config) | ||||
|  | ||||
|         connection = get_app_connection(config, app) | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| [tool.poetry] | ||||
| name = "aerich" | ||||
| version = "0.3.1" | ||||
| version = "0.3.2" | ||||
| description = "A database migrations tool for Tortoise ORM." | ||||
| authors = ["long2ice <long2ice@gmail.com>"] | ||||
| license = "Apache-2.0" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user