Fix upgrade in new db. (#96)
This commit is contained in:
		| @@ -5,6 +5,7 @@ | |||||||
| ### 0.4.2 | ### 0.4.2 | ||||||
|  |  | ||||||
| - Use `pathlib` for path resolving. (#89) | - Use `pathlib` for path resolving. (#89) | ||||||
|  | - Fix upgrade in new db. (#96) | ||||||
|  |  | ||||||
| ### 0.4.1 | ### 0.4.1 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -81,6 +81,8 @@ async def cli(ctx: Context, config, app, name): | |||||||
|         ctx.obj["app"] = app |         ctx.obj["app"] = app | ||||||
|         Migrate.app = app |         Migrate.app = app | ||||||
|         if invoked_subcommand != "init-db": |         if invoked_subcommand != "init-db": | ||||||
|  |             if not Path(location, app).exists(): | ||||||
|  |                 raise UsageError("You must exec init-db first", ctx=ctx) | ||||||
|             await Migrate.init_with_old_models(tortoise_config, app, location) |             await Migrate.init_with_old_models(tortoise_config, app, location) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -123,7 +125,7 @@ async def upgrade(ctx: Context): | |||||||
|             click.secho(f"Success upgrade {version_file}", fg=Color.green) |             click.secho(f"Success upgrade {version_file}", fg=Color.green) | ||||||
|             migrated = True |             migrated = True | ||||||
|     if not migrated: |     if not migrated: | ||||||
|         click.secho("No migrate items", fg=Color.yellow) |         click.secho("No items to be migrated", fg=Color.yellow) | ||||||
|  |  | ||||||
|  |  | ||||||
| @cli.command(help="Downgrade to specified version.") | @cli.command(help="Downgrade to specified version.") | ||||||
|   | |||||||
| @@ -65,10 +65,13 @@ def get_version_content_from_file(version_file: str) -> Dict: | |||||||
|     with open(version_file, "r", encoding="utf-8") as f: |     with open(version_file, "r", encoding="utf-8") as f: | ||||||
|         content = f.read() |         content = f.read() | ||||||
|         first = content.index(_UPGRADE) |         first = content.index(_UPGRADE) | ||||||
|         second = content.index(_DOWNGRADE) |         try: | ||||||
|  |             second = content.index(_DOWNGRADE) | ||||||
|  |         except ValueError: | ||||||
|  |             second = len(content) - 1 | ||||||
|         upgrade_content = content[first + len(_UPGRADE) : second].strip()  # noqa:E203 |         upgrade_content = content[first + len(_UPGRADE) : second].strip()  # noqa:E203 | ||||||
|         downgrade_content = content[second + len(_DOWNGRADE) :].strip()  # noqa:E203 |         downgrade_content = content[second + len(_DOWNGRADE) :].strip()  # noqa:E203 | ||||||
|         ret = {"upgrade": upgrade_content.split("\n"), "downgrade": downgrade_content.split("\n")} |         ret = {"upgrade": upgrade_content.split(";\n"), "downgrade": downgrade_content.split(";\n")} | ||||||
|         return ret |         return ret | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -85,7 +88,10 @@ def write_version_file(version_file: str, content: Dict): | |||||||
|         if len(upgrade) > 1: |         if len(upgrade) > 1: | ||||||
|             f.write(";\n".join(upgrade) + ";\n") |             f.write(";\n".join(upgrade) + ";\n") | ||||||
|         else: |         else: | ||||||
|             f.write(f"{upgrade[0]};\n") |             f.write(f"{upgrade[0]}") | ||||||
|  |             if not upgrade[0].endswith(";"): | ||||||
|  |                 f.write(";") | ||||||
|  |             f.write("\n") | ||||||
|         downgrade = content.get("downgrade") |         downgrade = content.get("downgrade") | ||||||
|         if downgrade: |         if downgrade: | ||||||
|             f.write(_DOWNGRADE) |             f.write(_DOWNGRADE) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user