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