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',): 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; 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;