jam-cloud/db/up/jam_track_updates.sql

30 lines
1.3 KiB
SQL

-- Drop Jam Track Tracks constraints:
ALTER TABLE jam_track_tracks
DROP CONSTRAINT jam_track_tracks_jam_track_id_fkey;
-- Drop Jam Track Tracks constraints:
ALTER TABLE jam_track_rights
DROP CONSTRAINT jam_track_rights_user_id_fkey,
DROP CONSTRAINT jam_track_rights_jam_track_id_fkey;
-- Change Jam Tracks ID type to BIGINT so it can work like the other downloadable items:
ALTER TABLE jam_tracks
ALTER COLUMN id DROP DEFAULT,
ALTER COLUMN id TYPE BIGINT USING nextval('tracks_next_tracker_seq'),
ALTER COLUMN id SET DEFAULT nextval('tracks_next_tracker_seq');
-- Change referencing ID type and re-add constraints:
ALTER TABLE jam_track_tracks
ALTER COLUMN jam_track_id TYPE BIGINT USING 0,
ALTER COLUMN jam_track_id SET NOT NULL,
ADD CONSTRAINT jam_track_tracks_jam_track_id_fkey FOREIGN KEY(jam_track_id) REFERENCES jam_tracks(id) ON DELETE CASCADE;
-- Change referencing ID type and re-add constraints. Also
-- add S3 URL for user-specific downloads:
ALTER TABLE jam_track_rights
ADD COLUMN s3_url VARCHAR(2048),
ALTER COLUMN jam_track_id TYPE BIGINT USING 0,
ALTER COLUMN jam_track_id SET NOT NULL,
ADD CONSTRAINT jam_track_rights_user_id_fkey FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE,
ADD CONSTRAINT jam_track_rights_jam_track_id_fkey FOREIGN KEY(jam_track_id) REFERENCES jam_tracks(id) ON DELETE CASCADE;