43 lines
2.0 KiB
SQL
43 lines
2.0 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:
|
|
CREATE SEQUENCE jam_tracks_next_seq;
|
|
ALTER TABLE jam_tracks
|
|
ALTER COLUMN id DROP DEFAULT,
|
|
ALTER COLUMN id TYPE BIGINT USING nextval('jam_tracks_next_seq'),
|
|
ALTER COLUMN id SET DEFAULT nextval('jam_tracks_next_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
|
|
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'),
|
|
ADD COLUMN url VARCHAR(2048),
|
|
ADD COLUMN md5 VARCHAR,
|
|
ADD COLUMN length INTEGER NOT NULL DEFAULT 0,
|
|
ADD COLUMN download_count INTEGER NOT NULL DEFAULT 0,
|
|
ADD COLUMN signed BOOLEAN NOT NULL DEFAULT FALSE,
|
|
ADD COLUMN downloaded_since_sign BOOLEAN NOT NULL DEFAULT FALSE,
|
|
ADD COLUMN last_downloaded_at timestamp without time zone NULL,
|
|
ADD COLUMN created_at timestamp without time zone NOT NULL,
|
|
ADD COLUMN updated_at timestamp without time zone NOT NULL,
|
|
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;
|
|
|
|
ALTER TABLE notifications ADD COLUMN jam_track_right_id BIGINT REFERENCES jam_track_rights(id); |