Add script to migrate from file to sqlite backend
This is the script I used to convert all existing media from the file backend to the sqlite backend. I'm saving it for posterity. It outputs shell commands to stdout, and SQL commands to stderr. These can be piped to different files, examined, and run independently, e.g. $ ./file-to-sqlite.sh 1>files.sh 2>files.sql $ sh files.sh $ sqlite3 jukebox.sqlite3 files.sql
This commit is contained in:
parent
c0e2ab0129
commit
38f832e8d8
14
archive/file-to-sqlite.sh
Executable file
14
archive/file-to-sqlite.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
ls media/*\ -\ *.mp3 | while read line ; do
|
||||||
|
UUID=$(./jukebox/node_modules/.bin/uuid v4)
|
||||||
|
echo "mv \"$line\" \"media/$UUID\""
|
||||||
|
|
||||||
|
FILE=$(basename "$line" ".mp3")
|
||||||
|
set -- $FILE
|
||||||
|
|
||||||
|
TAG=${@:1:1}
|
||||||
|
LABEL=${@:3}
|
||||||
|
echo "INSERT INTO tags (tag) VALUES (\"$TAG\");" 1>>/dev/stderr;
|
||||||
|
echo "INSERT INTO library (tag, label, uuid) VALUES (\"$TAG\", \"$LABEL\", \"$UUID\");" 1>>/dev/stderr;
|
||||||
|
done
|
Loading…
Reference in New Issue
Block a user