MBS-12252: Add edit_genre table

This will allows us to start entering edits for adding / editing genres
and for eventually adding aliases to them, so we have history.
This commit is contained in:
Nicolás Tamargo
2022-03-14 19:49:43 +02:00
parent a93160900f
commit bf83ddddd1
14 changed files with 91 additions and 2 deletions

@ -431,6 +431,17 @@ ALTER TABLE edit_event
REFERENCES event(id)
ON DELETE CASCADE;
ALTER TABLE edit_genre
ADD CONSTRAINT edit_genre_fk_edit
FOREIGN KEY (edit)
REFERENCES edit(id);
ALTER TABLE edit_genre
ADD CONSTRAINT edit_genre_fk_genre
FOREIGN KEY (genre)
REFERENCES genre(id)
ON DELETE CASCADE;
ALTER TABLE edit_instrument
ADD CONSTRAINT edit_instrument_fk_edit
FOREIGN KEY (edit)

@ -149,6 +149,7 @@ CREATE INDEX edit_data_idx_link_type ON edit_data USING GIN (
CREATE INDEX edit_area_idx ON edit_area (area);
CREATE INDEX edit_artist_idx ON edit_artist (artist);
CREATE INDEX edit_event_idx ON edit_event (event);
CREATE INDEX edit_genre_idx ON edit_genre (genre);
CREATE INDEX edit_instrument_idx ON edit_instrument (instrument);
CREATE INDEX edit_label_idx ON edit_label (label);
CREATE INDEX edit_place_idx ON edit_place (place);

@ -47,6 +47,7 @@ ALTER TABLE edit_area ADD CONSTRAINT edit_area_pkey PRIMARY KEY (edit, area);
ALTER TABLE edit_artist ADD CONSTRAINT edit_artist_pkey PRIMARY KEY (edit, artist);
ALTER TABLE edit_data ADD CONSTRAINT edit_data_pkey PRIMARY KEY (edit);
ALTER TABLE edit_event ADD CONSTRAINT edit_event_pkey PRIMARY KEY (edit, event);
ALTER TABLE edit_genre ADD CONSTRAINT edit_genre_pkey PRIMARY KEY (edit, genre);
ALTER TABLE edit_instrument ADD CONSTRAINT edit_instrument_pkey PRIMARY KEY (edit, instrument);
ALTER TABLE edit_label ADD CONSTRAINT edit_label_pkey PRIMARY KEY (edit, label);
ALTER TABLE edit_note ADD CONSTRAINT edit_note_pkey PRIMARY KEY (id);

@ -587,6 +587,12 @@ CREATE TABLE edit_event
event INTEGER NOT NULL -- PK, references event.id CASCADE
);
CREATE TABLE edit_genre
(
edit INTEGER NOT NULL, -- PK, references edit.id
genre INTEGER NOT NULL -- PK, references genre.id CASCADE
);
CREATE TABLE edit_instrument
(
edit INTEGER NOT NULL, -- PK, references edit.id

@ -85,6 +85,8 @@ ALTER TABLE edit_artist DROP CONSTRAINT IF EXISTS edit_artist_fk_artist;
ALTER TABLE edit_data DROP CONSTRAINT IF EXISTS edit_data_fk_edit;
ALTER TABLE edit_event DROP CONSTRAINT IF EXISTS edit_event_fk_edit;
ALTER TABLE edit_event DROP CONSTRAINT IF EXISTS edit_event_fk_event;
ALTER TABLE edit_genre DROP CONSTRAINT IF EXISTS edit_genre_fk_edit;
ALTER TABLE edit_genre DROP CONSTRAINT IF EXISTS edit_genre_fk_genre;
ALTER TABLE edit_instrument DROP CONSTRAINT IF EXISTS edit_instrument_fk_edit;
ALTER TABLE edit_instrument DROP CONSTRAINT IF EXISTS edit_instrument_fk_instrument;
ALTER TABLE edit_label DROP CONSTRAINT IF EXISTS edit_label_fk_edit;

@ -72,6 +72,7 @@ DROP INDEX edit_artist_idx;
DROP INDEX edit_artist_idx_status;
DROP INDEX edit_data_idx_link_type;
DROP INDEX edit_event_idx;
DROP INDEX edit_genre_idx;
DROP INDEX edit_idx_close_time;
DROP INDEX edit_idx_editor_id_desc;
DROP INDEX edit_idx_editor_open_time;

@ -47,6 +47,7 @@ ALTER TABLE edit_area DROP CONSTRAINT IF EXISTS edit_area_pkey;
ALTER TABLE edit_artist DROP CONSTRAINT IF EXISTS edit_artist_pkey;
ALTER TABLE edit_data DROP CONSTRAINT IF EXISTS edit_data_pkey;
ALTER TABLE edit_event DROP CONSTRAINT IF EXISTS edit_event_pkey;
ALTER TABLE edit_genre DROP CONSTRAINT IF EXISTS edit_genre_pkey;
ALTER TABLE edit_instrument DROP CONSTRAINT IF EXISTS edit_instrument_pkey;
ALTER TABLE edit_label DROP CONSTRAINT IF EXISTS edit_label_pkey;
ALTER TABLE edit_note DROP CONSTRAINT IF EXISTS edit_note_pkey;

@ -51,6 +51,7 @@ DROP TABLE edit_area;
DROP TABLE edit_artist;
DROP TABLE edit_data;
DROP TABLE edit_event;
DROP TABLE edit_genre;
DROP TABLE edit_instrument;
DROP TABLE edit_label;
DROP TABLE edit_note;

@ -51,6 +51,7 @@ TRUNCATE TABLE edit_area RESTART IDENTITY CASCADE;
TRUNCATE TABLE edit_artist RESTART IDENTITY CASCADE;
TRUNCATE TABLE edit_data RESTART IDENTITY CASCADE;
TRUNCATE TABLE edit_event RESTART IDENTITY CASCADE;
TRUNCATE TABLE edit_genre RESTART IDENTITY CASCADE;
TRUNCATE TABLE edit_instrument RESTART IDENTITY CASCADE;
TRUNCATE TABLE edit_label RESTART IDENTITY CASCADE;
TRUNCATE TABLE edit_note RESTART IDENTITY CASCADE;

@ -0,0 +1,16 @@
\set ON_ERROR_STOP 1
BEGIN;
ALTER TABLE edit_genre
ADD CONSTRAINT edit_genre_fk_edit
FOREIGN KEY (edit)
REFERENCES edit(id);
ALTER TABLE edit_genre
ADD CONSTRAINT edit_genre_fk_genre
FOREIGN KEY (genre)
REFERENCES genre(id)
ON DELETE CASCADE;
COMMIT;

@ -0,0 +1,15 @@
\set ON_ERROR_STOP 1
BEGIN;
CREATE TABLE edit_genre
(
edit INTEGER NOT NULL, -- PK, references edit.id
genre INTEGER NOT NULL -- PK, references genre.id CASCADE
);
ALTER TABLE edit_genre ADD CONSTRAINT edit_genre_pkey PRIMARY KEY (edit, genre);
CREATE INDEX edit_genre_idx ON edit_genre (genre);
COMMIT;

@ -1,6 +1,7 @@
-- Generated by CompileSchemaScripts.pl from:
-- 20210526-a_upd_release_event.sql
-- 20210606-mbs-11682.sql
-- 20220314-mbs-12252.sql
\set ON_ERROR_STOP 1
BEGIN;
SET search_path = musicbrainz, public;
@ -124,4 +125,18 @@ BEGIN
END;
$$ LANGUAGE 'plpgsql';
--------------------------------------------------------------------------------
SELECT '20220314-mbs-12252.sql';
CREATE TABLE edit_genre
(
edit INTEGER NOT NULL, -- PK, references edit.id
genre INTEGER NOT NULL -- PK, references genre.id CASCADE
);
ALTER TABLE edit_genre ADD CONSTRAINT edit_genre_pkey PRIMARY KEY (edit, genre);
CREATE INDEX edit_genre_idx ON edit_genre (genre);
COMMIT;

@ -5,6 +5,7 @@
-- 20211008-mbs-11903.sql
-- 20211216-mbs-12140-12141.sql
-- 20220309-mbs-12241.sql
-- 20220314-mbs-12252-standalone.sql
\set ON_ERROR_STOP 1
BEGIN;
SET search_path = musicbrainz, public;
@ -542,4 +543,19 @@ $$ LANGUAGE SQL IMMUTABLE SET search_path = musicbrainz, public;
DROP FUNCTION IF EXISTS whitespace_collapsed(TEXT);
--------------------------------------------------------------------------------
SELECT '20220314-mbs-12252-standalone.sql';
ALTER TABLE edit_genre
ADD CONSTRAINT edit_genre_fk_edit
FOREIGN KEY (edit)
REFERENCES edit(id);
ALTER TABLE edit_genre
ADD CONSTRAINT edit_genre_fk_genre
FOREIGN KEY (genre)
REFERENCES genre(id)
ON DELETE CASCADE;
COMMIT;

@ -104,13 +104,15 @@
"27": {
"mirror": ["20210526-a_upd_release_event.sql",
"20210606-mbs-11682.sql"],
"20210606-mbs-11682.sql",
"20220314-mbs-12252.sql"],
"mirror_only": ["20220302-mbs-12225-mirror_only.sql"],
"standalone": ["20210702-mbs-11760.sql",
"20210916-mbs-11896.sql",
"20210924-mbs-10327.sql",
"20211008-mbs-11903.sql",
"20211216-mbs-12140-12141.sql",
"20220309-mbs-12241.sql"]
"20220309-mbs-12241.sql",
"20220314-mbs-12252-standalone.sql"]
}
}