diff --git a/manifest b/manifest index d9d725df5..43830a9ac 100644 --- a/manifest +++ b/manifest @@ -9,5 +9,6 @@ invitations.sql users_v2.sql instruments.sql users_v3.sql +musicians_instruments.sql musician_access.sql tracks.sql diff --git a/up/locations.sql b/up/locations.sql new file mode 100644 index 000000000..cb69807a6 --- /dev/null +++ b/up/locations.sql @@ -0,0 +1,11 @@ +-- locations +CREATE TABLE musicians_instruments ( + id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(), + musician_id VARCHAR(64) REFERENCES musicians(id) ON DELETE CASCADE, + instrument_id VARCHAR(64) REFERENCES instruments(id) ON DELETE CASCADE, + proficiency_level SMALLINT NOT NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +ALTER TABLE musicians_instruments ADD CONSTRAINT musician_instrument_uniqkey UNIQUE (musician_id, instrument_id); diff --git a/up/musicians_instruments.sql b/up/musicians_instruments.sql new file mode 100644 index 000000000..37a6f6a24 --- /dev/null +++ b/up/musicians_instruments.sql @@ -0,0 +1,3 @@ +ALTER TABLE musicians_instruments ALTER COLUMN user_id SET NOT NULL; +ALTER TABLE musicians_instruments ALTER COLUMN instrument_id SET NOT NULL; +ALTER TABLE musicians_instruments ADD COLUMN priority SMALLINT NOT NULL DEFAULT 1;