From 7ccfbe38f75c8b5e4e704ebd22d744a5d97f364c Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Fri, 24 Aug 2012 17:47:33 -0400 Subject: [PATCH] CC-4289: Airtime 2.2 upgrade script -initial commit --- .../upgrades/airtime-2.2.0/data/upgrade.sql | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) diff --git a/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql b/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql index b4fffb97f..3e8e2b453 100644 --- a/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql +++ b/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql @@ -1,2 +1,147 @@ DELETE FROM cc_pref WHERE keystr = 'system_version'; INSERT INTO cc_pref (keystr, valstr) VALUES ('system_version', '2.2.0'); + +ALTER TABLE cc_files + DROP CONSTRAINT cc_files_gunid_idx; + +DROP TABLE cc_access; + +DROP SEQUENCE cc_access_id_seq; + +CREATE SEQUENCE cc_block_id_seq + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + +CREATE SEQUENCE cc_blockcontents_id_seq + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + +CREATE SEQUENCE cc_blockcriteria_id_seq + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + +CREATE SEQUENCE cc_webstream_id_seq + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + +CREATE SEQUENCE cc_webstream_metadata_id_seq + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + +CREATE TABLE cc_block ( + id integer DEFAULT nextval('cc_block_id_seq'::regclass) NOT NULL, + name character varying(255) DEFAULT ''::character varying NOT NULL, + mtime timestamp(6) without time zone, + utime timestamp(6) without time zone, + creator_id integer, + description character varying(512), + length interval DEFAULT '00:00:00'::interval, + type character varying(7) DEFAULT 'static'::character varying +); + +CREATE TABLE cc_blockcontents ( + id integer DEFAULT nextval('cc_blockcontents_id_seq'::regclass) NOT NULL, + block_id integer, + file_id integer, + "position" integer, + cliplength interval DEFAULT '00:00:00'::interval, + cuein interval DEFAULT '00:00:00'::interval, + cueout interval DEFAULT '00:00:00'::interval, + fadein time without time zone DEFAULT '00:00:00'::time without time zone, + fadeout time without time zone DEFAULT '00:00:00'::time without time zone +); + +CREATE TABLE cc_blockcriteria ( + id integer DEFAULT nextval('cc_blockcriteria_id_seq'::regclass) NOT NULL, + criteria character varying(32) NOT NULL, + modifier character varying(16) NOT NULL, + "value" character varying(512) NOT NULL, + extra character varying(512), + block_id integer NOT NULL +); + +CREATE TABLE cc_webstream ( + id integer DEFAULT nextval('cc_webstream_id_seq'::regclass) NOT NULL, + name character varying(255) NOT NULL, + description character varying(255) NOT NULL, + url character varying(255) NOT NULL, + length interval DEFAULT '00:00:00'::interval NOT NULL, + creator_id integer NOT NULL, + mtime timestamp(6) without time zone NOT NULL, + utime timestamp(6) without time zone NOT NULL, + mime character varying(255) +); + +CREATE TABLE cc_webstream_metadata ( + id integer DEFAULT nextval('cc_webstream_metadata_id_seq'::regclass) NOT NULL, + instance_id integer NOT NULL, + start_time timestamp without time zone NOT NULL, + liquidsoap_data character varying(1024) NOT NULL +); + +ALTER TABLE cc_files + DROP COLUMN gunid, + ADD COLUMN replay_gain character varying(16), + ALTER COLUMN bpm TYPE integer /* TYPE change - table: cc_files original: character varying(8) new: integer */; + +ALTER TABLE cc_playlistcontents + ADD COLUMN block_id integer, + ADD COLUMN stream_id integer, + ADD COLUMN type smallint DEFAULT 0 NOT NULL; + +ALTER TABLE cc_schedule + ADD COLUMN stream_id integer; + +ALTER TABLE cc_subjs + ADD COLUMN cell_phone character varying(255); + +ALTER TABLE cc_block + ADD CONSTRAINT cc_block_pkey PRIMARY KEY (id); + +ALTER TABLE cc_blockcontents + ADD CONSTRAINT cc_blockcontents_pkey PRIMARY KEY (id); + +ALTER TABLE cc_blockcriteria + ADD CONSTRAINT cc_blockcriteria_pkey PRIMARY KEY (id); + +ALTER TABLE cc_webstream + ADD CONSTRAINT cc_webstream_pkey PRIMARY KEY (id); + +ALTER TABLE cc_webstream_metadata + ADD CONSTRAINT cc_webstream_metadata_pkey PRIMARY KEY (id); + +ALTER TABLE cc_block + ADD CONSTRAINT cc_block_createdby_fkey FOREIGN KEY (creator_id) REFERENCES cc_subjs(id); + +ALTER TABLE cc_blockcontents + ADD CONSTRAINT cc_blockcontents_block_id_fkey FOREIGN KEY (block_id) REFERENCES cc_block(id) ON DELETE CASCADE; + +ALTER TABLE cc_blockcontents + ADD CONSTRAINT cc_blockcontents_file_id_fkey FOREIGN KEY (file_id) REFERENCES cc_files(id) ON DELETE CASCADE; + +ALTER TABLE cc_blockcriteria + ADD CONSTRAINT cc_blockcontents_block_id_fkey FOREIGN KEY (block_id) REFERENCES cc_block(id) ON DELETE CASCADE; + +ALTER TABLE cc_playlistcontents + ADD CONSTRAINT cc_playlistcontents_block_id_fkey FOREIGN KEY (block_id) REFERENCES cc_block(id) ON DELETE CASCADE; + +ALTER TABLE cc_schedule + ADD CONSTRAINT cc_show_stream_fkey FOREIGN KEY (stream_id) REFERENCES cc_webstream(id) ON DELETE CASCADE; + +ALTER TABLE cc_webstream_metadata + ADD CONSTRAINT cc_schedule_inst_fkey FOREIGN KEY (instance_id) REFERENCES cc_schedule(id) ON DELETE CASCADE;