Annika Backstrom
38f832e8d8
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
15 lines
393 B
Bash
Executable File
15 lines
393 B
Bash
Executable File
#!/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
|