migration: add overwrite support for .env migration

linuztx committed Dec 12, 2025 at 11:45 UTC 5b6fbea1ed81698ba5c13bb1e536781ad3458c96
1 file changed +7 -5
python/helpers/migration.py
+7 -5
@@ -26,7 +26,7 @@ def migrate_user_data() -> None:
26
27 _move_file("tmp/settings.json", "usr/settings.json")
28 _move_file("tmp/secrets.env", "usr/secrets.env")
29 - _move_file(".env", "usr/.env")
29 + _move_file(".env", "usr/.env", overwrite=True)
30
31 # --- Special Migration Cases ---------------------------------------------------
32
@@ -48,19 +48,21 @@ def migrate_user_data() -> None:
48
49 # --- Helper Functions ----------------------------------------------------------
50
51 -def _move_dir(src: str, dst: str) -> None:
51 +def _move_dir(src: str, dst: str, overwrite: bool = False) -> None:
52 """
53 Move a directory from src to dst if src exists and dst does not.
54 """
55 - if files.exists(src) and not files.exists(dst):
55 + if files.exists(src) and (not files.exists(dst) or overwrite):
56 PrintStyle().print(f"Migrating {src} to {dst}...")
57 + if overwrite and files.exists(dst):
58 + files.delete_dir(dst)
59 files.move_dir(src, dst)
60
59 -def _move_file(src: str, dst: str) -> None:
61 +def _move_file(src: str, dst: str, overwrite: bool = False) -> None:
62 """
63 Move a file from src to dst if src exists and dst does not.
64 """
63 - if files.exists(src) and not files.exists(dst):
65 + if files.exists(src) and (not files.exists(dst) or overwrite):
66 PrintStyle().print(f"Migrating {src} to {dst}...")
67 files.move_file(src, dst)
68