
-----------------------------------------------------------------------------
-- cc_music_dirs
-----------------------------------------------------------------------------

DROP TABLE "cc_music_dirs" CASCADE;


CREATE TABLE "cc_music_dirs"
(
	"id" serial  NOT NULL,
	"directory" TEXT,
	"type" VARCHAR(255),
	"exists" BOOLEAN default 't',
	"watched" BOOLEAN default 't',
	PRIMARY KEY ("id"),
	CONSTRAINT "cc_music_dir_unique" UNIQUE ("directory")
);

COMMENT ON TABLE "cc_music_dirs" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_files
-----------------------------------------------------------------------------

DROP TABLE "cc_files" CASCADE;


CREATE TABLE "cc_files"
(
	"id" serial  NOT NULL,
	"name" VARCHAR(255) default '' NOT NULL,
	"mime" VARCHAR(255) default '' NOT NULL,
	"ftype" VARCHAR(128) default '' NOT NULL,
	"directory" INTEGER,
	"filepath" TEXT default '',
	"state" VARCHAR(128) default 'empty' NOT NULL,
	"currentlyaccessing" INTEGER default 0 NOT NULL,
	"editedby" INTEGER,
	"mtime" TIMESTAMP(6),
	"utime" TIMESTAMP(6),
	"lptime" TIMESTAMP(6),
	"md5" CHAR(32),
	"track_title" VARCHAR(512),
	"artist_name" VARCHAR(512),
	"bit_rate" INTEGER,
	"sample_rate" INTEGER,
	"format" VARCHAR(128),
	"length" interval default '00:00:00',
	"album_title" VARCHAR(512),
	"genre" VARCHAR(64),
	"comments" TEXT,
	"year" VARCHAR(16),
	"track_number" INTEGER,
	"channels" INTEGER,
	"url" VARCHAR(1024),
	"bpm" INTEGER,
	"rating" VARCHAR(8),
	"encoded_by" VARCHAR(255),
	"disc_number" VARCHAR(8),
	"mood" VARCHAR(64),
	"label" VARCHAR(512),
	"composer" VARCHAR(512),
	"encoder" VARCHAR(64),
	"checksum" VARCHAR(256),
	"lyrics" TEXT,
	"orchestra" VARCHAR(512),
	"conductor" VARCHAR(512),
	"lyricist" VARCHAR(512),
	"original_lyricist" VARCHAR(512),
	"radio_station_name" VARCHAR(512),
	"info_url" VARCHAR(512),
	"artist_url" VARCHAR(512),
	"audio_source_url" VARCHAR(512),
	"radio_station_url" VARCHAR(512),
	"buy_this_url" VARCHAR(512),
	"isrc_number" VARCHAR(512),
	"catalog_number" VARCHAR(512),
	"original_artist" VARCHAR(512),
	"copyright" VARCHAR(512),
	"report_datetime" VARCHAR(32),
	"report_location" VARCHAR(512),
	"report_organization" VARCHAR(512),
	"subject" VARCHAR(512),
	"contributor" VARCHAR(512),
	"language" VARCHAR(512),
	"file_exists" BOOLEAN default 't',
	"soundcloud_id" INTEGER,
	"soundcloud_error_code" INTEGER,
	"soundcloud_error_msg" VARCHAR(512),
	"soundcloud_link_to_file" VARCHAR(4096),
	"soundcloud_upload_time" TIMESTAMP(6),
	"replay_gain" NUMERIC,
	"owner_id" INTEGER,
	"cuein" interval default '00:00:00',
	"cueout" interval default '00:00:00',
	"silan_check" BOOLEAN default 'f',
	"hidden" BOOLEAN default 'f',
	"is_scheduled" BOOLEAN default 'f',
	"is_playlist" BOOLEAN default 'f',
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_files" IS '';


SET search_path TO public;
CREATE INDEX "cc_files_md5_idx" ON "cc_files" ("md5");

CREATE INDEX "cc_files_name_idx" ON "cc_files" ("name");

-----------------------------------------------------------------------------
-- cc_perms
-----------------------------------------------------------------------------

DROP TABLE "cc_perms" CASCADE;


CREATE TABLE "cc_perms"
(
	"permid" INTEGER  NOT NULL,
	"subj" INTEGER,
	"action" VARCHAR(20),
	"obj" INTEGER,
	"type" CHAR(1),
	PRIMARY KEY ("permid"),
	CONSTRAINT "cc_perms_all_idx" UNIQUE ("subj","action","obj"),
	CONSTRAINT "cc_perms_permid_idx" UNIQUE ("permid")
);

COMMENT ON TABLE "cc_perms" IS '';


SET search_path TO public;
CREATE INDEX "cc_perms_subj_obj_idx" ON "cc_perms" ("subj","obj");

-----------------------------------------------------------------------------
-- cc_show
-----------------------------------------------------------------------------

DROP TABLE "cc_show" CASCADE;


CREATE TABLE "cc_show"
(
	"id" serial  NOT NULL,
	"name" VARCHAR(255) default '' NOT NULL,
	"url" VARCHAR(255) default '',
	"genre" VARCHAR(255) default '',
	"description" VARCHAR(512),
	"color" VARCHAR(6),
	"background_color" VARCHAR(6),
	"live_stream_using_airtime_auth" BOOLEAN default 'f',
	"live_stream_using_custom_auth" BOOLEAN default 'f',
	"live_stream_user" VARCHAR(255),
	"live_stream_pass" VARCHAR(255),
	"linked" BOOLEAN default 'f' NOT NULL,
	"is_linkable" BOOLEAN default 't' NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_show" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_show_instances
-----------------------------------------------------------------------------

DROP TABLE "cc_show_instances" CASCADE;


CREATE TABLE "cc_show_instances"
(
	"id" serial  NOT NULL,
	"starts" TIMESTAMP  NOT NULL,
	"ends" TIMESTAMP  NOT NULL,
	"show_id" INTEGER  NOT NULL,
	"record" INT2 default 0,
	"rebroadcast" INT2 default 0,
	"instance_id" INTEGER,
	"file_id" INTEGER,
	"time_filled" interval default '00:00:00',
	"created" TIMESTAMP  NOT NULL,
	"last_scheduled" TIMESTAMP,
	"modified_instance" BOOLEAN default 'f' NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_show_instances" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_show_days
-----------------------------------------------------------------------------

DROP TABLE "cc_show_days" CASCADE;


CREATE TABLE "cc_show_days"
(
	"id" serial  NOT NULL,
	"first_show" DATE  NOT NULL,
	"last_show" DATE,
	"start_time" TIME  NOT NULL,
	"timezone" VARCHAR(255)  NOT NULL,
	"duration" VARCHAR(255)  NOT NULL,
	"day" INT2,
	"repeat_type" INT2  NOT NULL,
	"next_pop_date" DATE,
	"show_id" INTEGER  NOT NULL,
	"record" INT2 default 0,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_show_days" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_show_rebroadcast
-----------------------------------------------------------------------------

DROP TABLE "cc_show_rebroadcast" CASCADE;


CREATE TABLE "cc_show_rebroadcast"
(
	"id" serial  NOT NULL,
	"day_offset" VARCHAR(255)  NOT NULL,
	"start_time" TIME  NOT NULL,
	"show_id" INTEGER  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_show_rebroadcast" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_show_hosts
-----------------------------------------------------------------------------

DROP TABLE "cc_show_hosts" CASCADE;


CREATE TABLE "cc_show_hosts"
(
	"id" serial  NOT NULL,
	"show_id" INTEGER  NOT NULL,
	"subjs_id" INTEGER  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_show_hosts" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_playlist
-----------------------------------------------------------------------------

DROP TABLE "cc_playlist" CASCADE;


CREATE TABLE "cc_playlist"
(
	"id" serial  NOT NULL,
	"name" VARCHAR(255) default '' NOT NULL,
	"mtime" TIMESTAMP(6),
	"utime" TIMESTAMP(6),
	"creator_id" INTEGER,
	"description" VARCHAR(512),
	"length" interval default '00:00:00',
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_playlist" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_playlistcontents
-----------------------------------------------------------------------------

DROP TABLE "cc_playlistcontents" CASCADE;


CREATE TABLE "cc_playlistcontents"
(
	"id" serial  NOT NULL,
	"playlist_id" INTEGER,
	"file_id" INTEGER,
	"block_id" INTEGER,
	"stream_id" INTEGER,
	"type" INT2 default 0 NOT NULL,
	"position" INTEGER,
	"trackoffset" FLOAT default 0 NOT NULL,
	"cliplength" interval default '00:00:00',
	"cuein" interval default '00:00:00',
	"cueout" interval default '00:00:00',
	"fadein" TIME default '00:00:00',
	"fadeout" TIME default '00:00:00',
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_playlistcontents" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_block
-----------------------------------------------------------------------------

DROP TABLE "cc_block" CASCADE;


CREATE TABLE "cc_block"
(
	"id" serial  NOT NULL,
	"name" VARCHAR(255) default '' NOT NULL,
	"mtime" TIMESTAMP(6),
	"utime" TIMESTAMP(6),
	"creator_id" INTEGER,
	"description" VARCHAR(512),
	"length" interval default '00:00:00',
	"type" VARCHAR(7) default 'static',
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_block" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_blockcontents
-----------------------------------------------------------------------------

DROP TABLE "cc_blockcontents" CASCADE;


CREATE TABLE "cc_blockcontents"
(
	"id" serial  NOT NULL,
	"block_id" INTEGER,
	"file_id" INTEGER,
	"position" INTEGER,
	"trackoffset" FLOAT default 0 NOT NULL,
	"cliplength" interval default '00:00:00',
	"cuein" interval default '00:00:00',
	"cueout" interval default '00:00:00',
	"fadein" TIME default '00:00:00',
	"fadeout" TIME default '00:00:00',
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_blockcontents" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_blockcriteria
-----------------------------------------------------------------------------

DROP TABLE "cc_blockcriteria" CASCADE;


CREATE TABLE "cc_blockcriteria"
(
	"id" serial  NOT NULL,
	"criteria" VARCHAR(32)  NOT NULL,
	"modifier" VARCHAR(16)  NOT NULL,
	"value" VARCHAR(512)  NOT NULL,
	"extra" VARCHAR(512),
	"block_id" INTEGER  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_blockcriteria" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_pref
-----------------------------------------------------------------------------

DROP TABLE "cc_pref" CASCADE;


CREATE TABLE "cc_pref"
(
	"id" serial  NOT NULL,
	"subjid" INTEGER,
	"keystr" VARCHAR(255),
	"valstr" TEXT,
	PRIMARY KEY ("id"),
	CONSTRAINT "cc_pref_id_idx" UNIQUE ("id"),
	CONSTRAINT "cc_pref_subj_key_idx" UNIQUE ("subjid","keystr")
);

COMMENT ON TABLE "cc_pref" IS '';


SET search_path TO public;
CREATE INDEX "cc_pref_subjid_idx" ON "cc_pref" ("subjid");

-----------------------------------------------------------------------------
-- cc_schedule
-----------------------------------------------------------------------------

DROP TABLE "cc_schedule" CASCADE;


CREATE TABLE "cc_schedule"
(
	"id" serial  NOT NULL,
	"starts" TIMESTAMP  NOT NULL,
	"ends" TIMESTAMP  NOT NULL,
	"file_id" INTEGER,
	"stream_id" INTEGER,
	"clip_length" interval default '00:00:00',
	"fade_in" TIME default '00:00:00',
	"fade_out" TIME default '00:00:00',
	"cue_in" interval  NOT NULL,
	"cue_out" interval  NOT NULL,
	"media_item_played" BOOLEAN default 'f',
	"instance_id" INTEGER  NOT NULL,
	"playout_status" INT2 default 1 NOT NULL,
	"broadcasted" INT2 default 0 NOT NULL,
	"position" INTEGER default 0 NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_schedule" IS '';


SET search_path TO public;
CREATE INDEX "cc_schedule_instance_id_idx" ON "cc_schedule" ("instance_id");

-----------------------------------------------------------------------------
-- cc_sess
-----------------------------------------------------------------------------

DROP TABLE "cc_sess" CASCADE;


CREATE TABLE "cc_sess"
(
	"sessid" CHAR(32)  NOT NULL,
	"userid" INTEGER,
	"login" VARCHAR(255),
	"ts" TIMESTAMP,
	PRIMARY KEY ("sessid")
);

COMMENT ON TABLE "cc_sess" IS '';


SET search_path TO public;
CREATE INDEX "cc_sess_login_idx" ON "cc_sess" ("login");

CREATE INDEX "cc_sess_userid_idx" ON "cc_sess" ("userid");

-----------------------------------------------------------------------------
-- cc_smemb
-----------------------------------------------------------------------------

DROP TABLE "cc_smemb" CASCADE;


CREATE TABLE "cc_smemb"
(
	"id" INTEGER  NOT NULL,
	"uid" INTEGER default 0 NOT NULL,
	"gid" INTEGER default 0 NOT NULL,
	"level" INTEGER default 0 NOT NULL,
	"mid" INTEGER,
	PRIMARY KEY ("id"),
	CONSTRAINT "cc_smemb_id_idx" UNIQUE ("id")
);

COMMENT ON TABLE "cc_smemb" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_subjs
-----------------------------------------------------------------------------

DROP TABLE "cc_subjs" CASCADE;


CREATE TABLE "cc_subjs"
(
	"id" serial  NOT NULL,
	"login" VARCHAR(255) default '' NOT NULL,
	"pass" VARCHAR(255) default '' NOT NULL,
	"type" CHAR(1) default 'U' NOT NULL,
	"first_name" VARCHAR(255) default '' NOT NULL,
	"last_name" VARCHAR(255) default '' NOT NULL,
	"lastlogin" TIMESTAMP,
	"lastfail" TIMESTAMP,
	"skype_contact" VARCHAR(255),
	"jabber_contact" VARCHAR(255),
	"email" VARCHAR(255),
	"cell_phone" VARCHAR(255),
	"login_attempts" INTEGER default 0,
	PRIMARY KEY ("id"),
	CONSTRAINT "cc_subjs_id_idx" UNIQUE ("id"),
	CONSTRAINT "cc_subjs_login_idx" UNIQUE ("login")
);

COMMENT ON TABLE "cc_subjs" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_subjs_token
-----------------------------------------------------------------------------

DROP TABLE "cc_subjs_token" CASCADE;


CREATE TABLE "cc_subjs_token"
(
	"id" serial  NOT NULL,
	"user_id" INTEGER  NOT NULL,
	"action" VARCHAR(255)  NOT NULL,
	"token" VARCHAR(40)  NOT NULL,
	"created" TIMESTAMP  NOT NULL,
	PRIMARY KEY ("id"),
	CONSTRAINT "cc_subjs_token_idx" UNIQUE ("token")
);

COMMENT ON TABLE "cc_subjs_token" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_country
-----------------------------------------------------------------------------

DROP TABLE "cc_country" CASCADE;


CREATE TABLE "cc_country"
(
	"isocode" CHAR(3)  NOT NULL,
	"name" VARCHAR(255)  NOT NULL,
	PRIMARY KEY ("isocode")
);

COMMENT ON TABLE "cc_country" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_stream_setting
-----------------------------------------------------------------------------

DROP TABLE "cc_stream_setting" CASCADE;


CREATE TABLE "cc_stream_setting"
(
	"keyname" VARCHAR(64)  NOT NULL,
	"value" VARCHAR(255),
	"type" VARCHAR(16)  NOT NULL,
	PRIMARY KEY ("keyname")
);

COMMENT ON TABLE "cc_stream_setting" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_login_attempts
-----------------------------------------------------------------------------

DROP TABLE "cc_login_attempts" CASCADE;


CREATE TABLE "cc_login_attempts"
(
	"ip" VARCHAR(32)  NOT NULL,
	"attempts" INTEGER default 0,
	PRIMARY KEY ("ip")
);

COMMENT ON TABLE "cc_login_attempts" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_service_register
-----------------------------------------------------------------------------

DROP TABLE "cc_service_register" CASCADE;


CREATE TABLE "cc_service_register"
(
	"name" VARCHAR(32)  NOT NULL,
	"ip" VARCHAR(18)  NOT NULL,
	PRIMARY KEY ("name")
);

COMMENT ON TABLE "cc_service_register" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_live_log
-----------------------------------------------------------------------------

DROP TABLE "cc_live_log" CASCADE;


CREATE TABLE "cc_live_log"
(
	"id" serial  NOT NULL,
	"state" VARCHAR(32)  NOT NULL,
	"start_time" TIMESTAMP  NOT NULL,
	"end_time" TIMESTAMP,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_live_log" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_webstream
-----------------------------------------------------------------------------

DROP TABLE "cc_webstream" CASCADE;


CREATE TABLE "cc_webstream"
(
	"id" serial  NOT NULL,
	"name" VARCHAR(255)  NOT NULL,
	"description" VARCHAR(255)  NOT NULL,
	"url" VARCHAR(512)  NOT NULL,
	"length" interval default '00:00:00' NOT NULL,
	"creator_id" INTEGER  NOT NULL,
	"mtime" TIMESTAMP(6)  NOT NULL,
	"utime" TIMESTAMP(6)  NOT NULL,
	"lptime" TIMESTAMP(6),
	"mime" VARCHAR(255),
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_webstream" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_webstream_metadata
-----------------------------------------------------------------------------

DROP TABLE "cc_webstream_metadata" CASCADE;


CREATE TABLE "cc_webstream_metadata"
(
	"id" serial  NOT NULL,
	"instance_id" INTEGER  NOT NULL,
	"start_time" TIMESTAMP  NOT NULL,
	"liquidsoap_data" VARCHAR(1024)  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_webstream_metadata" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_mount_name
-----------------------------------------------------------------------------

DROP TABLE "cc_mount_name" CASCADE;


CREATE TABLE "cc_mount_name"
(
	"id" serial  NOT NULL,
	"mount_name" VARCHAR(255)  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_mount_name" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_timestamp
-----------------------------------------------------------------------------

DROP TABLE "cc_timestamp" CASCADE;


CREATE TABLE "cc_timestamp"
(
	"id" serial  NOT NULL,
	"timestamp" TIMESTAMP  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_timestamp" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_listener_count
-----------------------------------------------------------------------------

DROP TABLE "cc_listener_count" CASCADE;


CREATE TABLE "cc_listener_count"
(
	"id" serial  NOT NULL,
	"timestamp_id" INTEGER  NOT NULL,
	"mount_name_id" INTEGER  NOT NULL,
	"listener_count" INTEGER  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_listener_count" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_locale
-----------------------------------------------------------------------------

DROP TABLE "cc_locale" CASCADE;


CREATE TABLE "cc_locale"
(
	"id" serial  NOT NULL,
	"locale_code" VARCHAR(16)  NOT NULL,
	"locale_lang" VARCHAR(128)  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_locale" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_playout_history
-----------------------------------------------------------------------------

DROP TABLE "cc_playout_history" CASCADE;


CREATE TABLE "cc_playout_history"
(
	"id" serial  NOT NULL,
	"file_id" INTEGER,
	"starts" TIMESTAMP  NOT NULL,
	"ends" TIMESTAMP  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_playout_history" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_playout_history_metadata
-----------------------------------------------------------------------------

DROP TABLE "cc_playout_history_metadata" CASCADE;


CREATE TABLE "cc_playout_history_metadata"
(
	"id" serial  NOT NULL,
	"history_id" INTEGER  NOT NULL,
	"key" VARCHAR(128)  NOT NULL,
	"value" VARCHAR(128)  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_playout_history_metadata" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_playout_history_template
-----------------------------------------------------------------------------

DROP TABLE "cc_playout_history_template" CASCADE;


CREATE TABLE "cc_playout_history_template"
(
	"id" serial  NOT NULL,
	"template_name" VARCHAR(128)  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_playout_history_template" IS '';


SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_playout_history_template_field
-----------------------------------------------------------------------------

DROP TABLE "cc_playout_history_template_field" CASCADE;


CREATE TABLE "cc_playout_history_template_field"
(
	"id" serial  NOT NULL,
	"template_id" INTEGER  NOT NULL,
	"name" VARCHAR(128)  NOT NULL,
	"type" VARCHAR(128)  NOT NULL,
	"is_file_md" BOOLEAN default 'f' NOT NULL,
	"position" INTEGER  NOT NULL,
	PRIMARY KEY ("id")
);

COMMENT ON TABLE "cc_playout_history_template_field" IS '';


SET search_path TO public;
ALTER TABLE "cc_files" ADD CONSTRAINT "cc_files_owner_fkey" FOREIGN KEY ("owner_id") REFERENCES "cc_subjs" ("id");

ALTER TABLE "cc_files" ADD CONSTRAINT "cc_files_editedby_fkey" FOREIGN KEY ("editedby") REFERENCES "cc_subjs" ("id");

ALTER TABLE "cc_files" ADD CONSTRAINT "cc_music_dirs_folder_fkey" FOREIGN KEY ("directory") REFERENCES "cc_music_dirs" ("id");

ALTER TABLE "cc_perms" ADD CONSTRAINT "cc_perms_subj_fkey" FOREIGN KEY ("subj") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_show_instances" ADD CONSTRAINT "cc_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_show_instances" ADD CONSTRAINT "cc_original_show_instance_fkey" FOREIGN KEY ("instance_id") REFERENCES "cc_show_instances" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_show_instances" ADD CONSTRAINT "cc_recorded_file_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_show_days" ADD CONSTRAINT "cc_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_show_rebroadcast" ADD CONSTRAINT "cc_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_show_hosts" ADD CONSTRAINT "cc_perm_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_show_hosts" ADD CONSTRAINT "cc_perm_host_fkey" FOREIGN KEY ("subjs_id") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_playlist" ADD CONSTRAINT "cc_playlist_createdby_fkey" FOREIGN KEY ("creator_id") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_playlistcontents" ADD CONSTRAINT "cc_playlistcontents_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("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_playlistcontents" ADD CONSTRAINT "cc_playlistcontents_playlist_id_fkey" FOREIGN KEY ("playlist_id") REFERENCES "cc_playlist" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_block" ADD CONSTRAINT "cc_block_createdby_fkey" FOREIGN KEY ("creator_id") REFERENCES "cc_subjs" ("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_blockcontents" ADD CONSTRAINT "cc_blockcontents_block_id_fkey" FOREIGN KEY ("block_id") REFERENCES "cc_block" ("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_pref" ADD CONSTRAINT "cc_pref_subjid_fkey" FOREIGN KEY ("subjid") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_schedule" ADD CONSTRAINT "cc_show_inst_fkey" FOREIGN KEY ("instance_id") REFERENCES "cc_show_instances" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_schedule" ADD CONSTRAINT "cc_show_file_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("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_sess" ADD CONSTRAINT "cc_sess_userid_fkey" FOREIGN KEY ("userid") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_subjs_token" ADD CONSTRAINT "cc_subjs_token_userid_fkey" FOREIGN KEY ("user_id") REFERENCES "cc_subjs" ("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;

ALTER TABLE "cc_listener_count" ADD CONSTRAINT "cc_timestamp_inst_fkey" FOREIGN KEY ("timestamp_id") REFERENCES "cc_timestamp" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_listener_count" ADD CONSTRAINT "cc_mount_name_inst_fkey" FOREIGN KEY ("mount_name_id") REFERENCES "cc_mount_name" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_playout_history" ADD CONSTRAINT "cc_playout_history_file_tag_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_playout_history_metadata" ADD CONSTRAINT "cc_playout_history_metadata_entry_fkey" FOREIGN KEY ("history_id") REFERENCES "cc_playout_history" ("id") ON DELETE CASCADE;

ALTER TABLE "cc_playout_history_template_field" ADD CONSTRAINT "cc_playout_history_template_template_fkey" FOREIGN KEY ("template_id") REFERENCES "cc_playout_history_template" ("id") ON DELETE CASCADE;
