From 3fd1f18b799932e56468f6a384a8302ff19258a8 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 6 Mar 2020 18:22:41 +0000 Subject: [PATCH 1/3] remove empty track_id field and rename tmp_track_id to track_id --- speedup/sql/AlterTables.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 speedup/sql/AlterTables.sql diff --git a/speedup/sql/AlterTables.sql b/speedup/sql/AlterTables.sql new file mode 100644 index 0000000..37ce3bb --- /dev/null +++ b/speedup/sql/AlterTables.sql @@ -0,0 +1,3 @@ +ALTER TABLE release_track DROP COLUMN tmp_id; +ALTER TABLE release_track_artist DROP COLUMN track_id; +ALTER TABLE release_track_artist RENAME COLUMN track_tmp_id to track_id; From 7eb2d41df1da81bfb1c0bdced98c695f48ab2bbd Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 6 Mar 2020 18:33:20 +0000 Subject: [PATCH 2/3] Missing primary Keys, Index and Drop staements --- speedup/sql/CreateIndexes.sql | 4 ++-- speedup/sql/CreatePrimaryKeys.sql | 16 +++++++++++++++- speedup/sql/DropPrimaryKeys.sql | 4 ++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/speedup/sql/CreateIndexes.sql b/speedup/sql/CreateIndexes.sql index 070147a..320fa44 100644 --- a/speedup/sql/CreateIndexes.sql +++ b/speedup/sql/CreateIndexes.sql @@ -26,11 +26,11 @@ CREATE INDEX release_genre_idx_release ON release_genre (release_id); CREATE INDEX release_style_idx_release ON release_style (release_id); CREATE INDEX release_format_idx_release ON release_format (release_id); CREATE INDEX release_track_idx_release ON release_track (release_id); -CREATE INDEX release_track_idx_tmp_id ON release_track (tmp_id); CREATE INDEX release_track_idx_sequence ON release_track (sequence); CREATE INDEX release_track_idx_parent ON release_track (parent); +CREATE INDEX release_track_idx_title ON release_track (title); CREATE INDEX release_track_artist_idx_release ON release_track_artist (release_id); -CREATE INDEX release_track_artist_idx_track_tmp_id ON release_track_artist (track_tmp_id); +CREATE INDEX release_track_artist_idx_track_id ON release_track_artist (track_id); CREATE INDEX release_track_artist_idx_track_sequence ON release_track_artist (track_sequence); CREATE INDEX release_track_artist_idx_artist ON release_track_artist (artist_id); CREATE INDEX release_identifier_idx_release ON release_identifier (release_id); diff --git a/speedup/sql/CreatePrimaryKeys.sql b/speedup/sql/CreatePrimaryKeys.sql index 25461b6..ce15f91 100644 --- a/speedup/sql/CreatePrimaryKeys.sql +++ b/speedup/sql/CreatePrimaryKeys.sql @@ -1,13 +1,27 @@ --- artists ALTER TABLE artist ADD CONSTRAINT artist_pkey PRIMARY KEY (id); +ALTER TABLE artist_url ADD CONSTRAINT artist_url_pkey PRIMARY KEY (id); +ALTER TABLE artist_namevariation ADD CONSTRAINT artist_namevariation_pkey PRIMARY KEY (id); --- labels ALTER TABLE label ADD CONSTRAINT label_pkey PRIMARY KEY (id); +ALTER TABLE label_url ADD CONSTRAINT label_url_pkey PRIMARY KEY (id); --- masters ALTER TABLE master ADD CONSTRAINT master_pkey PRIMARY KEY (id); +ALTER TABLE master_artist ADD CONSTRAINT master_artist_pkey PRIMARY KEY (id); +ALTER TABLE master_video ADD CONSTRAINT master_video_pkey PRIMARY KEY (id); +ALTER TABLE master_genre ADD CONSTRAINT master_genre_pkey PRIMARY KEY (id); +ALTER TABLE master_style ADD CONSTRAINT master_style_pkey PRIMARY KEY (id); --- releases ALTER TABLE release ADD CONSTRAINT release_pkey PRIMARY KEY (id); -ALTER TABLE release_track ADD CONSTRAINT release_track_pkey PRIMARY KEY (release_id, sequence); +ALTER TABLE release_artist ADD CONSTRAINT release_artist_pkey PRIMARY KEY (id); +ALTER TABLE release_label ADD CONSTRAINT release_label_pkey PRIMARY KEY (id); +ALTER TABLE release_genre ADD CONSTRAINT release_genre_pkey PRIMARY KEY (id); +ALTER TABLE release_format ADD CONSTRAINT release_format_pkey PRIMARY KEY (id); +ALTER TABLE release_track ADD CONSTRAINT release_track_pkey PRIMARY KEY (id); ALTER TABLE release_track_artist ADD CONSTRAINT release_track_artist_pkey PRIMARY KEY (id); +ALTER TABLE release_identifier ADD CONSTRAINT release_identifier_pkey PRIMARY KEY (id); +ALTER TABLE release_video ADD CONSTRAINT release_video_pkey PRIMARY KEY (id); +ALTER TABLE release_company ADD CONSTRAINT release_company_pkey PRIMARY KEY (id); diff --git a/speedup/sql/DropPrimaryKeys.sql b/speedup/sql/DropPrimaryKeys.sql index f76d0f9..52c201e 100644 --- a/speedup/sql/DropPrimaryKeys.sql +++ b/speedup/sql/DropPrimaryKeys.sql @@ -10,3 +10,7 @@ ALTER TABLE master DROP CONSTRAINT IF EXISTS master_pkey; --- releases ALTER TABLE release DROP CONSTRAINT IF EXISTS release_pkey; ALTER TABLE release_track DROP CONSTRAINT IF EXISTS release_track_pkey; +ALTER TABLE release_track_artist DROP CONSTRAINT IF EXISTS release_track__artist_pkey; +ALTER TABLE release_format DROP CONSTRAINT IF EXISTS release_format_pkey; +ALTER TABLE release_label DROP CONSTRAINT IF EXISTS release_label_pkey; +ALTER TABLE release_artist DROP CONSTRAINT IF EXISTS release_artist_pkey; From 5c9eec16ad0c1c66b1ab17827e6b509bacf2393e Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Sun, 8 Mar 2020 18:05:28 +0000 Subject: [PATCH 3/3] get release.status from xml and put into database --- speedup/dbconfig.py | 2 +- speedup/exporter.py | 2 +- speedup/parser.py | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/speedup/dbconfig.py b/speedup/dbconfig.py index da5af2d..4c83038 100644 --- a/speedup/dbconfig.py +++ b/speedup/dbconfig.py @@ -71,7 +71,7 @@ def connect_db(cfg, set_search_path=False): 'master_genre': 'master_id genre', 'master_style': 'master_id style', - 'release': 'id title released country notes data_quality master_id', + 'release': 'id title released country notes data_quality master_id status', 'release_artist': 'release_id artist_id artist_name extra anv position join_string role tracks', 'release_label': 'release_id label_name catno', 'release_genre': 'release_id genre', diff --git a/speedup/exporter.py b/speedup/exporter.py index eb4bb7c..b00b944 100755 --- a/speedup/exporter.py +++ b/speedup/exporter.py @@ -207,7 +207,7 @@ class ReleaseExporter(EntityCsvExporter): def __init__(self, *args, **kwargs): super().__init__('release', *args, **kwargs) - main_fields = ['id', 'title', 'released', 'country', 'notes', 'data_quality', 'master_id'] + main_fields = ['id', 'title', 'released', 'country', 'notes', 'data_quality', 'master_id', 'status'] label_fields = [ 'name', 'catno'] video_fields = [ 'duration', 'title', 'description', 'src'] format_fields = [ 'name', 'qty', 'text', 'descriptions'] diff --git a/speedup/parser.py b/speedup/parser.py index d3f2132..15069fa 100644 --- a/speedup/parser.py +++ b/speedup/parser.py @@ -306,6 +306,7 @@ def element_companies(self, element): def build_entity(self, entity_id, element): release = Release() release.id = entity_id + setattr(release,'status',element.get('status')) for e in element.iterchildren(): t = e.tag if t in ('master_id',):