jam-cloud/db/up/store_s3_filenames.sql

45 lines
1.9 KiB
SQL

-- there are no valid recordings and mixes at this time
DELETE FROM recorded_tracks;
DELETE FROM mixes;
-- store full path to s3 bucket for mix and recorded_track
ALTER TABLE recorded_tracks ADD COLUMN url varchar(1024);
ALTER TABLE mixes ADD COLUMN url varchar(1024);
-- greater than 64 bytes come back from amazon for upload ids
ALTER TABLE recorded_tracks ALTER COLUMN upload_id TYPE varchar(1024);
-- store offset on server
ALTER TABLE recorded_tracks ADD COLUMN file_offset bigint DEFAULT 0;
-- make length be a bigint, since it can in theory be that large
ALTER TABLE recorded_tracks ALTER COLUMN length TYPE bigint;
-- store the client's track_id in addition to our own
ALTER TABLE recorded_tracks ADD COLUMN client_track_id varchar(64) NOT NULL;
-- is a part being stored
ALTER TABLE recorded_tracks ADD COLUMN is_part_uploading BOOLEAN NOT NULL DEFAULT false;
-- track error counts for the recorded_track as whole
ALTER TABLE recorded_tracks ADD COLUMN upload_failures int NOT NULL DEFAULT 0;
-- track error counts for the current part
ALTER TABLE recorded_tracks ADD COLUMN part_failures int NOT NULL DEFAULT 0;
-- create a auto-incrementing primary key for recorded_tracks
-- create a auto-incrementing primary key for mixes
-- and have them share the same sequence
CREATE SEQUENCE tracks_next_tracker_seq;
ALTER TABLE recorded_tracks ALTER COLUMN id DROP DEFAULT;
ALTER TABLE mixes ALTER COLUMN id DROP DEFAULT;
ALTER TABLE recorded_tracks ALTER COLUMN id TYPE BIGINT USING 0;
ALTER TABLE mixes ALTER COLUMN id TYPE BIGINT USINg 0;
ALTER TABLE recorded_tracks ALTER COLUMN id SET DEFAULT nextval('tracks_next_tracker_seq');
ALTER TABLE mixes ALTER COLUMN id SET DEFAULT nextval('tracks_next_tracker_seq');
--ALTER TABLE recorded_tracks ADD COLUMN next_tracker bigint NOT NULL DEFAULT nextval('tracks_next_tracker_seq');
--ALTER TABLE mixes ADD COLUMN next_tracker bigint NOT NULL DEFAULT nextval('tracks_next_tracker_seq');