mirror of
https://github.com/spl0k/supysonic.git
synced 2024-12-23 01:16:18 +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,
|
year INTEGER,
|
||||||
genre VARCHAR(256),
|
genre VARCHAR(256),
|
||||||
duration INTEGER NOT NULL,
|
duration INTEGER NOT NULL,
|
||||||
has_art BOOLEAN NOT NULL,
|
has_art BOOLEAN NOT NULL DEFAULT false,
|
||||||
album_id BINARY(16) NOT NULL REFERENCES album,
|
album_id BINARY(16) NOT NULL REFERENCES album,
|
||||||
artist_id BINARY(16) NOT NULL REFERENCES artist,
|
artist_id BINARY(16) NOT NULL REFERENCES artist,
|
||||||
bitrate INTEGER NOT NULL,
|
bitrate INTEGER NOT NULL,
|
||||||
|
@ -29,7 +29,7 @@ CREATE TABLE IF NOT EXISTS track (
|
|||||||
year INTEGER,
|
year INTEGER,
|
||||||
genre VARCHAR(256),
|
genre VARCHAR(256),
|
||||||
duration INTEGER NOT NULL,
|
duration INTEGER NOT NULL,
|
||||||
has_art BOOLEAN NOT NULL,
|
has_art BOOLEAN NOT NULL DEFAULT false,
|
||||||
album_id UUID NOT NULL REFERENCES album,
|
album_id UUID NOT NULL REFERENCES album,
|
||||||
artist_id UUID NOT NULL REFERENCES artist,
|
artist_id UUID NOT NULL REFERENCES artist,
|
||||||
bitrate INTEGER NOT NULL,
|
bitrate INTEGER NOT NULL,
|
||||||
|
@ -31,7 +31,7 @@ CREATE TABLE IF NOT EXISTS track (
|
|||||||
year INTEGER,
|
year INTEGER,
|
||||||
genre VARCHAR(256),
|
genre VARCHAR(256),
|
||||||
duration INTEGER NOT NULL,
|
duration INTEGER NOT NULL,
|
||||||
has_art BOOLEAN NOT NULL,
|
has_art BOOLEAN NOT NULL DEFAULT false,
|
||||||
album_id CHAR(36) NOT NULL REFERENCES album,
|
album_id CHAR(36) NOT NULL REFERENCES album,
|
||||||
artist_id CHAR(36) NOT NULL REFERENCES artist,
|
artist_id CHAR(36) NOT NULL REFERENCES artist,
|
||||||
bitrate INTEGER NOT NULL,
|
bitrate INTEGER NOT NULL,
|
||||||
|
Loading…
Reference in New Issue
Block a user