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