summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authors7hoang2020-08-05 03:13:54 -0400
committers7hoang2020-08-05 03:13:54 -0400
commit69b14bf8347207b704f8bd1763e58cddb30b6f12 (patch)
treebbac9869aebee331bd4ee79a5f86705285643c7c
parentc020bef1e7a002741ab1904bd8b7b030c660bd0c (diff)
downloadaur-69b14bf8347207b704f8bd1763e58cddb30b6f12.tar.gz
Implement Upgrade Scripts
I wasn't sure how to handle upgrades when I first maintained this, but now I've figured it out. The only files which are important are the three listed files which maintains the users (auth.db, collections) and their login validity (sessions.db). Simply by renaming these files, upgrading, then renaming them back, we preserve all the user data and everything should work like nothing even happened.
-rw-r--r--anki-sync-server.install47
1 files changed, 45 insertions, 2 deletions
diff --git a/anki-sync-server.install b/anki-sync-server.install
index d185e907b46d..2fbc9bf37ef7 100644
--- a/anki-sync-server.install
+++ b/anki-sync-server.install
@@ -106,7 +106,50 @@ post_remove(){
echo "==================================================================="
}
+pre_upgrade(){
+ sudo systemctl stop anki-sync-server.service
+
+ cd "/opt/anki-sync-server"
+
+ auth="auth.db"
+ coll="collections"
+ sess="session.db"
+
+ if [ -f "${auth}" ]; then
+ sudo mv -v "${auth}" "${auth}.BAK"
+ fi
+
+ if [ -d "${coll}" ]; then
+ sudo mv -v "${coll}" "${coll}.BAK"
+ fi
+
+ if [ -f "${sess}" ]; then
+ sudo mv -v "${sess}" "${sess}.BAK"
+ fi
+}
+
post_upgrade(){
- chown -R anki-sync-server /opt/anki-sync-server
- chgrp -R anki-sync-server /opt/anki-sync-server
+ cd "/opt/anki-sync-server"
+
+ auth="auth.db"
+ coll="collections"
+ sess="session.db"
+
+ if [ -f "${auth}.BAK" ]; then
+ sudo mv -v "${auth}.BAK" "${auth}"
+ fi
+
+ if [ -d "${coll}.BAK" ]; then
+ sudo mv -v "${coll}.BAK" "${coll}"
+ fi
+
+ if [ -f "${sess}.BAK" ]; then
+ sudo mv -v "${sess}.BAK" "${sess}"
+ fi
+
+ sudo chown -R anki-sync-server /opt/anki-sync-server
+ sudo chgrp -R anki-sync-server /opt/anki-sync-server
+
+ sudo systemctl daemon-reload
+ sudo systemctl start anki-sync-server
}