diff options
author | Evan <71018479+Evan-aja@users.noreply.github.com> | 2022-05-05 00:26:25 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-04 12:26:25 -0500 |
commit | eb42729b5aa3da6b425a3ccfe581fa9dcc7fa46e (patch) | |
tree | 1b1a09b99330d0f5256809e28323962974cf894c | |
parent | 6.0.0-nightly.25 [skip ci] (diff) | |
download | ferdium-app-eb42729b5aa3da6b425a3ccfe581fa9dcc7fa46e.tar.gz ferdium-app-eb42729b5aa3da6b425a3ccfe581fa9dcc7fa46e.tar.zst ferdium-app-eb42729b5aa3da6b425a3ccfe581fa9dcc7fa46e.zip |
Migration script from Ferdi to Ferdium for Linux & MacOS (#91) [skip ci]
Co-authored-by: Vijay A <vraravam@users.noreply.github.com>
-rw-r--r-- | README.md | 2 | ||||
-rwxr-xr-x | scripts/migration/migrate-unix.sh | 70 |
2 files changed, 71 insertions, 1 deletions
@@ -61,7 +61,7 @@ Since we are waiting to acquire the Apple Developer License, we are publishing o | |||
61 | 61 | ||
62 | ## Migrating from Ferdi | 62 | ## Migrating from Ferdi |
63 | 63 | ||
64 | If you are a pre-existing user of Ferdi, and are thinking of switching to Ferdium, you might want to run [the following script](./scripts/migration/migrate-windows.ps1) to migrate your existing Ferdi profile such that Ferdium can pick up the configurations. | 64 | If you are a pre-existing user of Ferdi, and are thinking of switching to Ferdium, you might want to run [the following scripts](./scripts/migration) to migrate your existing Ferdi profile such that Ferdium can pick up the configurations. (.ps1 for PowerShell/Windows users and .sh for UNIX (Linux and MacOS users) |
65 | 65 | ||
66 | ## Contributing | 66 | ## Contributing |
67 | 67 | ||
diff --git a/scripts/migration/migrate-unix.sh b/scripts/migration/migrate-unix.sh new file mode 100755 index 000000000..529716d85 --- /dev/null +++ b/scripts/migration/migrate-unix.sh | |||
@@ -0,0 +1,70 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -e | ||
4 | |||
5 | echo "********************************************" | ||
6 | echo " Ferdium User Data Migration Tool " | ||
7 | echo " WARNING: UNIX OS Only! " | ||
8 | echo "********************************************" | ||
9 | echo "This tool migrates your user data from Ferdi to Ferdium." | ||
10 | echo "Intended to be used on Linux or MacOS machine." | ||
11 | read -p "Do you want to proceed? (y/N) " confirm | ||
12 | |||
13 | case "$confirm" in | ||
14 | y|Y|[yY][eE][sS] ) echo "Starting...";; | ||
15 | n|N|[nN][oO] ) exit 1;; | ||
16 | * ) exit 1;; | ||
17 | esac | ||
18 | |||
19 | os_check=$(uname) | ||
20 | |||
21 | if [ $os_check == "Linux" ]; then | ||
22 | echo "Your OS is: Linux" | ||
23 | BASE_PATH="$HOME/.config" | ||
24 | elif [ $os_check == "Darwin" ]; then | ||
25 | echo "Your OS is: MacOS" | ||
26 | BASE_PATH="$HOME/Library/Application Support" | ||
27 | else | ||
28 | echo "Your OS is not supported by this script" | ||
29 | exit 1 | ||
30 | fi | ||
31 | |||
32 | FERDI_PATH="$BASE_PATH/Ferdi" | ||
33 | FERDIUM_PATH="$BASE_PATH/Ferdium2" | ||
34 | |||
35 | if [ -d "$FERDIUM_PATH" ]; then | ||
36 | echo "Path $FERDIUM_PATH exist, making a backup" | ||
37 | if ! mv -vf "$FERDIUM_PATH" "$FERDIUM_PATH.bak" 2> /dev/null ; then | ||
38 | read -p "A previous backup already exists at $FERDIUM_PATH.bak. do you want to remove it? (y/N) " confirm | ||
39 | echo | ||
40 | case "$confirm" in | ||
41 | y|Y|[yY][eE][sS] ) echo "Deleting...";; | ||
42 | n|N|[nN][oO] ) exit 1;; | ||
43 | * ) exit 1;; | ||
44 | esac | ||
45 | echo | ||
46 | rm -rf "$FERDIUM_PATH.bak" | ||
47 | mv -vf "$FERDIUM_PATH" "$FERDIUM_PATH.bak" | ||
48 | fi | ||
49 | fi | ||
50 | |||
51 | if mv -vf "$FERDI_PATH" "$FERDIUM_PATH"; then | ||
52 | echo "Files exported succesfully" | ||
53 | else | ||
54 | echo "ERROR!" | ||
55 | echo "No user data was found to be exported. Exiting..." | ||
56 | exit 1 | ||
57 | fi | ||
58 | |||
59 | if [ -f "$FERDIUM_PATH/server.sqlite" ]; then | ||
60 | echo "********************************************" | ||
61 | echo " Success! " | ||
62 | echo "********************************************" | ||
63 | else | ||
64 | echo "********************************************" | ||
65 | echo "WARNING: Your data was partially migrated!" | ||
66 | echo "It was detected that your account is using Ferdi servers to sync your data." | ||
67 | echo "Please, check this guide on how to export and import your data manually:" | ||
68 | echo "https://github.com/ferdium/ferdi/blob/main/MIGRATION.md" | ||
69 | echo "********************************************" | ||
70 | fi | ||