diff options
author | s7hoang | 2020-08-05 03:13:54 -0400 |
---|---|---|
committer | s7hoang | 2020-08-05 03:13:54 -0400 |
commit | 69b14bf8347207b704f8bd1763e58cddb30b6f12 (patch) | |
tree | bbac9869aebee331bd4ee79a5f86705285643c7c | |
parent | c020bef1e7a002741ab1904bd8b7b030c660bd0c (diff) | |
download | aur-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.install | 47 |
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 } |