sintonia/airtime_mvc/build/sql/schema.sql

885 lines
24 KiB
SQL

-----------------------------------------------------------------------------
-- 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 '',
"import_status" INTEGER default 1 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,
"image_path" VARCHAR(255),
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,
"description" VARCHAR(512),
"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_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,
"instance_id" INTEGER,
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,
"name" VARCHAR(128) NOT NULL,
"type" VARCHAR(35) 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,
"label" 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" ADD CONSTRAINT "cc_his_item_inst_fkey" FOREIGN KEY ("instance_id") REFERENCES "cc_show_instances" ("id") ON DELETE SET NULL;
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;