mirror of
https://github.com/spl0k/supysonic.git
synced 2024-12-22 17:06:17 +00:00
Switched from python to sql migration
This commit is contained in:
parent
c89395b220
commit
f7dc6292fd
@ -1,24 +0,0 @@
|
||||
import argparse
|
||||
from supysonic import db
|
||||
try:
|
||||
import MySQLdb as provider
|
||||
except ImportError:
|
||||
import pymysql as provider
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('username')
|
||||
parser.add_argument('password')
|
||||
parser.add_argument('database')
|
||||
parser.add_argument('-H', '--host', default = 'localhost', help = 'default: localhost')
|
||||
args = parser.parse_args()
|
||||
|
||||
with provider.connect(host = args.host, user = args.username, passwd = args.password, db = args.database) as conn:
|
||||
c = conn.cursor()
|
||||
c.execute('ALTER TABLE track ADD COLUMN has_art BOOLEAN NOT NULL DEFAULT false')
|
||||
|
||||
art = dict()
|
||||
c.execute('SELECT path FROM track')
|
||||
for row in c:
|
||||
art[row[0]] = bool(db.Track._extract_cover_art(row[0].encode('utf-8')))
|
||||
c.executemany('UPDATE track SET has_art=? WHERE path=?', [ (a, p) for p, a in art.items() ])
|
||||
conn.commit()
|
6
supysonic/schema/migration/mysql/20181010.sql
Normal file
6
supysonic/schema/migration/mysql/20181010.sql
Normal file
@ -0,0 +1,6 @@
|
||||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE track ADD has_art BOOLEAN DEFAULT false NOT NULL;
|
||||
|
||||
COMMIT;
|
||||
|
@ -1,21 +0,0 @@
|
||||
import argparse
|
||||
import psycopg2
|
||||
from supysonic import db
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('username')
|
||||
parser.add_argument('password')
|
||||
parser.add_argument('database')
|
||||
parser.add_argument('-H', '--host', default = 'localhost', help = 'default: localhost')
|
||||
args = parser.parse_args()
|
||||
|
||||
with psycopg2.connect(host = args.host, user = args.username, password = args.password, dbname = args.database) as conn:
|
||||
c = conn.cursor()
|
||||
c.execute('ALTER TABLE track ADD COLUMN has_art BOOLEAN NOT NULL DEFAULT false')
|
||||
|
||||
art = dict()
|
||||
c.execute('SELECT path FROM track')
|
||||
for row in c.fetchall():
|
||||
art[row[0]] = bool(db.Track._extract_cover_art(row[0].encode('utf-8')))
|
||||
c.executemany('UPDATE track SET has_art=%s WHERE path=%s', [ (a, p) for p, a in art.items() ])
|
||||
conn.commit()
|
6
supysonic/schema/migration/postgres/20181010.sql
Normal file
6
supysonic/schema/migration/postgres/20181010.sql
Normal file
@ -0,0 +1,6 @@
|
||||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE track ADD has_art BOOLEAN DEFAULT false NOT NULL;
|
||||
|
||||
COMMIT;
|
||||
|
@ -1,18 +0,0 @@
|
||||
import argparse
|
||||
import sqlite3
|
||||
from supysonic import db
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('dbfile', help = 'Path to the SQLite database file')
|
||||
args = parser.parse_args()
|
||||
|
||||
with sqlite3.connect(args.dbfile) as conn:
|
||||
c = conn.cursor()
|
||||
c.execute('ALTER TABLE track ADD COLUMN has_art BOOLEAN NOT NULL DEFAULT false')
|
||||
|
||||
art = dict()
|
||||
for row in c.execute('SELECT path FROM track'):
|
||||
art[row[0]] = bool(db.Track._extract_cover_art(row[0].encode('utf-8')))
|
||||
c.executemany('UPDATE track SET has_art=? WHERE path=?', [ (a, p) for p, a in art.items() ])
|
||||
conn.commit()
|
||||
conn.execute('VACUUM')
|
3
supysonic/schema/migration/sqlite/20181010.sql
Normal file
3
supysonic/schema/migration/sqlite/20181010.sql
Normal file
@ -0,0 +1,3 @@
|
||||
ALTER TABLE track ADD has_art BOOLEAN DEFAULT false NOT NULL;
|
||||
|
||||
COMMIT;
|
@ -29,7 +29,7 @@ CREATE TABLE IF NOT EXISTS track (
|
||||
year INTEGER,
|
||||
genre VARCHAR(256),
|
||||
duration INTEGER NOT NULL,
|
||||
has_art BOOLEAN NOT NULL,
|
||||
has_art BOOLEAN NOT NULL DEFAULT false,
|
||||
album_id BINARY(16) NOT NULL REFERENCES album,
|
||||
artist_id BINARY(16) NOT NULL REFERENCES artist,
|
||||
bitrate INTEGER NOT NULL,
|
||||
|
@ -29,7 +29,7 @@ CREATE TABLE IF NOT EXISTS track (
|
||||
year INTEGER,
|
||||
genre VARCHAR(256),
|
||||
duration INTEGER NOT NULL,
|
||||
has_art BOOLEAN NOT NULL,
|
||||
has_art BOOLEAN NOT NULL DEFAULT false,
|
||||
album_id UUID NOT NULL REFERENCES album,
|
||||
artist_id UUID NOT NULL REFERENCES artist,
|
||||
bitrate INTEGER NOT NULL,
|
||||
|
@ -31,7 +31,7 @@ CREATE TABLE IF NOT EXISTS track (
|
||||
year INTEGER,
|
||||
genre VARCHAR(256),
|
||||
duration INTEGER NOT NULL,
|
||||
has_art BOOLEAN NOT NULL,
|
||||
has_art BOOLEAN NOT NULL DEFAULT false,
|
||||
album_id CHAR(36) NOT NULL REFERENCES album,
|
||||
artist_id CHAR(36) NOT NULL REFERENCES artist,
|
||||
bitrate INTEGER NOT NULL,
|
||||
|
Loading…
Reference in New Issue
Block a user