Fix upgrade in new db. (#96)
This commit is contained in:
		| @@ -5,6 +5,7 @@ | ||||
| ### 0.4.2 | ||||
|  | ||||
| - Use `pathlib` for path resolving. (#89) | ||||
| - Fix upgrade in new db. (#96) | ||||
|  | ||||
| ### 0.4.1 | ||||
|  | ||||
|   | ||||
| @@ -81,6 +81,8 @@ async def cli(ctx: Context, config, app, name): | ||||
|         ctx.obj["app"] = app | ||||
|         Migrate.app = app | ||||
|         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) | ||||
|  | ||||
|  | ||||
| @@ -123,7 +125,7 @@ async def upgrade(ctx: Context): | ||||
|             click.secho(f"Success upgrade {version_file}", fg=Color.green) | ||||
|             migrated = True | ||||
|     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.") | ||||
|   | ||||
| @@ -65,10 +65,13 @@ def get_version_content_from_file(version_file: str) -> Dict: | ||||
|     with open(version_file, "r", encoding="utf-8") as f: | ||||
|         content = f.read() | ||||
|         first = content.index(_UPGRADE) | ||||
|         try: | ||||
|             second = content.index(_DOWNGRADE) | ||||
|         except ValueError: | ||||
|             second = len(content) - 1 | ||||
|         upgrade_content = content[first + len(_UPGRADE) : second].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 | ||||
|  | ||||
|  | ||||
| @@ -85,7 +88,10 @@ def write_version_file(version_file: str, content: Dict): | ||||
|         if len(upgrade) > 1: | ||||
|             f.write(";\n".join(upgrade) + ";\n") | ||||
|         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") | ||||
|         if downgrade: | ||||
|             f.write(_DOWNGRADE) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user