schema.sql 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904
  1. -----------------------------------------------------------------------------
  2. -- cc_music_dirs
  3. -----------------------------------------------------------------------------
  4. DROP TABLE "cc_music_dirs" CASCADE;
  5. CREATE TABLE "cc_music_dirs"
  6. (
  7. "id" serial NOT NULL,
  8. "directory" TEXT,
  9. "type" VARCHAR(255),
  10. "exists" BOOLEAN default 't',
  11. "watched" BOOLEAN default 't',
  12. PRIMARY KEY ("id"),
  13. CONSTRAINT "cc_music_dir_unique" UNIQUE ("directory")
  14. );
  15. COMMENT ON TABLE "cc_music_dirs" IS '';
  16. SET search_path TO public;
  17. -----------------------------------------------------------------------------
  18. -- cc_files
  19. -----------------------------------------------------------------------------
  20. DROP TABLE "cc_files" CASCADE;
  21. CREATE TABLE "cc_files"
  22. (
  23. "id" serial NOT NULL,
  24. "name" VARCHAR(255) default '' NOT NULL,
  25. "mime" VARCHAR(255) default '' NOT NULL,
  26. "ftype" VARCHAR(128) default '' NOT NULL,
  27. "directory" INTEGER,
  28. "filepath" TEXT default '',
  29. "state" VARCHAR(128) default 'empty' NOT NULL,
  30. "currentlyaccessing" INTEGER default 0 NOT NULL,
  31. "editedby" INTEGER,
  32. "mtime" TIMESTAMP(6),
  33. "utime" TIMESTAMP(6),
  34. "lptime" TIMESTAMP(6),
  35. "md5" CHAR(32),
  36. "track_title" VARCHAR(512),
  37. "artist_name" VARCHAR(512),
  38. "bit_rate" INTEGER,
  39. "sample_rate" INTEGER,
  40. "format" VARCHAR(128),
  41. "length" interval default '00:00:00',
  42. "album_title" VARCHAR(512),
  43. "genre" VARCHAR(64),
  44. "comments" TEXT,
  45. "year" VARCHAR(16),
  46. "track_number" INTEGER,
  47. "channels" INTEGER,
  48. "url" VARCHAR(1024),
  49. "bpm" INTEGER,
  50. "rating" VARCHAR(8),
  51. "encoded_by" VARCHAR(255),
  52. "disc_number" VARCHAR(8),
  53. "mood" VARCHAR(64),
  54. "label" VARCHAR(512),
  55. "composer" VARCHAR(512),
  56. "encoder" VARCHAR(64),
  57. "checksum" VARCHAR(256),
  58. "lyrics" TEXT,
  59. "orchestra" VARCHAR(512),
  60. "conductor" VARCHAR(512),
  61. "lyricist" VARCHAR(512),
  62. "original_lyricist" VARCHAR(512),
  63. "radio_station_name" VARCHAR(512),
  64. "info_url" VARCHAR(512),
  65. "artist_url" VARCHAR(512),
  66. "audio_source_url" VARCHAR(512),
  67. "radio_station_url" VARCHAR(512),
  68. "buy_this_url" VARCHAR(512),
  69. "isrc_number" VARCHAR(512),
  70. "catalog_number" VARCHAR(512),
  71. "original_artist" VARCHAR(512),
  72. "copyright" VARCHAR(512),
  73. "report_datetime" VARCHAR(32),
  74. "report_location" VARCHAR(512),
  75. "report_organization" VARCHAR(512),
  76. "subject" VARCHAR(512),
  77. "contributor" VARCHAR(512),
  78. "language" VARCHAR(512),
  79. "file_exists" BOOLEAN default 't',
  80. "soundcloud_id" INTEGER,
  81. "soundcloud_error_code" INTEGER,
  82. "soundcloud_error_msg" VARCHAR(512),
  83. "soundcloud_link_to_file" VARCHAR(4096),
  84. "soundcloud_upload_time" TIMESTAMP(6),
  85. "replay_gain" NUMERIC,
  86. "owner_id" INTEGER,
  87. "cuein" interval default '00:00:00',
  88. "cueout" interval default '00:00:00',
  89. "silan_check" BOOLEAN default 'f',
  90. "hidden" BOOLEAN default 'f',
  91. "is_scheduled" BOOLEAN default 'f',
  92. "is_playlist" BOOLEAN default 'f',
  93. PRIMARY KEY ("id")
  94. );
  95. COMMENT ON TABLE "cc_files" IS '';
  96. SET search_path TO public;
  97. CREATE INDEX "cc_files_md5_idx" ON "cc_files" ("md5");
  98. CREATE INDEX "cc_files_name_idx" ON "cc_files" ("name");
  99. -----------------------------------------------------------------------------
  100. -- cc_perms
  101. -----------------------------------------------------------------------------
  102. DROP TABLE "cc_perms" CASCADE;
  103. CREATE TABLE "cc_perms"
  104. (
  105. "permid" INTEGER NOT NULL,
  106. "subj" INTEGER,
  107. "action" VARCHAR(20),
  108. "obj" INTEGER,
  109. "type" CHAR(1),
  110. PRIMARY KEY ("permid"),
  111. CONSTRAINT "cc_perms_all_idx" UNIQUE ("subj","action","obj"),
  112. CONSTRAINT "cc_perms_permid_idx" UNIQUE ("permid")
  113. );
  114. COMMENT ON TABLE "cc_perms" IS '';
  115. SET search_path TO public;
  116. CREATE INDEX "cc_perms_subj_obj_idx" ON "cc_perms" ("subj","obj");
  117. -----------------------------------------------------------------------------
  118. -- cc_show
  119. -----------------------------------------------------------------------------
  120. DROP TABLE "cc_show" CASCADE;
  121. CREATE TABLE "cc_show"
  122. (
  123. "id" serial NOT NULL,
  124. "name" VARCHAR(255) default '' NOT NULL,
  125. "url" VARCHAR(255) default '',
  126. "genre" VARCHAR(255) default '',
  127. "description" VARCHAR(512),
  128. "color" VARCHAR(6),
  129. "background_color" VARCHAR(6),
  130. "live_stream_using_airtime_auth" BOOLEAN default 'f',
  131. "live_stream_using_custom_auth" BOOLEAN default 'f',
  132. "live_stream_user" VARCHAR(255),
  133. "live_stream_pass" VARCHAR(255),
  134. "linked" BOOLEAN default 'f' NOT NULL,
  135. "is_linkable" BOOLEAN default 't' NOT NULL,
  136. "image_path" VARCHAR(255),
  137. PRIMARY KEY ("id")
  138. );
  139. COMMENT ON TABLE "cc_show" IS '';
  140. SET search_path TO public;
  141. -----------------------------------------------------------------------------
  142. -- cc_show_instances
  143. -----------------------------------------------------------------------------
  144. DROP TABLE "cc_show_instances" CASCADE;
  145. CREATE TABLE "cc_show_instances"
  146. (
  147. "id" serial NOT NULL,
  148. "description" VARCHAR(512),
  149. "starts" TIMESTAMP NOT NULL,
  150. "ends" TIMESTAMP NOT NULL,
  151. "show_id" INTEGER NOT NULL,
  152. "record" INT2 default 0,
  153. "rebroadcast" INT2 default 0,
  154. "instance_id" INTEGER,
  155. "file_id" INTEGER,
  156. "time_filled" interval default '00:00:00',
  157. "created" TIMESTAMP NOT NULL,
  158. "last_scheduled" TIMESTAMP,
  159. "modified_instance" BOOLEAN default 'f' NOT NULL,
  160. PRIMARY KEY ("id")
  161. );
  162. COMMENT ON TABLE "cc_show_instances" IS '';
  163. SET search_path TO public;
  164. -----------------------------------------------------------------------------
  165. -- cc_show_days
  166. -----------------------------------------------------------------------------
  167. DROP TABLE "cc_show_days" CASCADE;
  168. CREATE TABLE "cc_show_days"
  169. (
  170. "id" serial NOT NULL,
  171. "first_show" DATE NOT NULL,
  172. "last_show" DATE,
  173. "start_time" TIME NOT NULL,
  174. "timezone" VARCHAR(255) NOT NULL,
  175. "duration" VARCHAR(255) NOT NULL,
  176. "day" INT2,
  177. "repeat_type" INT2 NOT NULL,
  178. "next_pop_date" DATE,
  179. "show_id" INTEGER NOT NULL,
  180. "record" INT2 default 0,
  181. PRIMARY KEY ("id")
  182. );
  183. COMMENT ON TABLE "cc_show_days" IS '';
  184. SET search_path TO public;
  185. -----------------------------------------------------------------------------
  186. -- cc_show_rebroadcast
  187. -----------------------------------------------------------------------------
  188. DROP TABLE "cc_show_rebroadcast" CASCADE;
  189. CREATE TABLE "cc_show_rebroadcast"
  190. (
  191. "id" serial NOT NULL,
  192. "day_offset" VARCHAR(255) NOT NULL,
  193. "start_time" TIME NOT NULL,
  194. "show_id" INTEGER NOT NULL,
  195. PRIMARY KEY ("id")
  196. );
  197. COMMENT ON TABLE "cc_show_rebroadcast" IS '';
  198. SET search_path TO public;
  199. -----------------------------------------------------------------------------
  200. -- cc_show_hosts
  201. -----------------------------------------------------------------------------
  202. DROP TABLE "cc_show_hosts" CASCADE;
  203. CREATE TABLE "cc_show_hosts"
  204. (
  205. "id" serial NOT NULL,
  206. "show_id" INTEGER NOT NULL,
  207. "subjs_id" INTEGER NOT NULL,
  208. PRIMARY KEY ("id")
  209. );
  210. COMMENT ON TABLE "cc_show_hosts" IS '';
  211. SET search_path TO public;
  212. -----------------------------------------------------------------------------
  213. -- cc_playlist
  214. -----------------------------------------------------------------------------
  215. DROP TABLE "cc_playlist" CASCADE;
  216. CREATE TABLE "cc_playlist"
  217. (
  218. "id" serial NOT NULL,
  219. "name" VARCHAR(255) default '' NOT NULL,
  220. "mtime" TIMESTAMP(6),
  221. "utime" TIMESTAMP(6),
  222. "creator_id" INTEGER,
  223. "description" VARCHAR(512),
  224. "length" interval default '00:00:00',
  225. PRIMARY KEY ("id")
  226. );
  227. COMMENT ON TABLE "cc_playlist" IS '';
  228. SET search_path TO public;
  229. -----------------------------------------------------------------------------
  230. -- cc_playlistcontents
  231. -----------------------------------------------------------------------------
  232. DROP TABLE "cc_playlistcontents" CASCADE;
  233. CREATE TABLE "cc_playlistcontents"
  234. (
  235. "id" serial NOT NULL,
  236. "playlist_id" INTEGER,
  237. "file_id" INTEGER,
  238. "block_id" INTEGER,
  239. "stream_id" INTEGER,
  240. "type" INT2 default 0 NOT NULL,
  241. "position" INTEGER,
  242. "trackoffset" FLOAT default 0 NOT NULL,
  243. "cliplength" interval default '00:00:00',
  244. "cuein" interval default '00:00:00',
  245. "cueout" interval default '00:00:00',
  246. "fadein" TIME default '00:00:00',
  247. "fadeout" TIME default '00:00:00',
  248. PRIMARY KEY ("id")
  249. );
  250. COMMENT ON TABLE "cc_playlistcontents" IS '';
  251. SET search_path TO public;
  252. -----------------------------------------------------------------------------
  253. -- cc_block
  254. -----------------------------------------------------------------------------
  255. DROP TABLE "cc_block" CASCADE;
  256. CREATE TABLE "cc_block"
  257. (
  258. "id" serial NOT NULL,
  259. "name" VARCHAR(255) default '' NOT NULL,
  260. "mtime" TIMESTAMP(6),
  261. "utime" TIMESTAMP(6),
  262. "creator_id" INTEGER,
  263. "description" VARCHAR(512),
  264. "length" interval default '00:00:00',
  265. "type" VARCHAR(7) default 'static',
  266. PRIMARY KEY ("id")
  267. );
  268. COMMENT ON TABLE "cc_block" IS '';
  269. SET search_path TO public;
  270. -----------------------------------------------------------------------------
  271. -- cc_blockcontents
  272. -----------------------------------------------------------------------------
  273. DROP TABLE "cc_blockcontents" CASCADE;
  274. CREATE TABLE "cc_blockcontents"
  275. (
  276. "id" serial NOT NULL,
  277. "block_id" INTEGER,
  278. "file_id" INTEGER,
  279. "position" INTEGER,
  280. "trackoffset" FLOAT default 0 NOT NULL,
  281. "cliplength" interval default '00:00:00',
  282. "cuein" interval default '00:00:00',
  283. "cueout" interval default '00:00:00',
  284. "fadein" TIME default '00:00:00',
  285. "fadeout" TIME default '00:00:00',
  286. PRIMARY KEY ("id")
  287. );
  288. COMMENT ON TABLE "cc_blockcontents" IS '';
  289. SET search_path TO public;
  290. -----------------------------------------------------------------------------
  291. -- cc_blockcriteria
  292. -----------------------------------------------------------------------------
  293. DROP TABLE "cc_blockcriteria" CASCADE;
  294. CREATE TABLE "cc_blockcriteria"
  295. (
  296. "id" serial NOT NULL,
  297. "criteria" VARCHAR(32) NOT NULL,
  298. "modifier" VARCHAR(16) NOT NULL,
  299. "value" VARCHAR(512) NOT NULL,
  300. "extra" VARCHAR(512),
  301. "block_id" INTEGER NOT NULL,
  302. PRIMARY KEY ("id")
  303. );
  304. COMMENT ON TABLE "cc_blockcriteria" IS '';
  305. SET search_path TO public;
  306. -----------------------------------------------------------------------------
  307. -- cc_pref
  308. -----------------------------------------------------------------------------
  309. DROP TABLE "cc_pref" CASCADE;
  310. CREATE TABLE "cc_pref"
  311. (
  312. "id" serial NOT NULL,
  313. "subjid" INTEGER,
  314. "keystr" VARCHAR(255),
  315. "valstr" TEXT,
  316. PRIMARY KEY ("id"),
  317. CONSTRAINT "cc_pref_id_idx" UNIQUE ("id"),
  318. CONSTRAINT "cc_pref_subj_key_idx" UNIQUE ("subjid","keystr")
  319. );
  320. COMMENT ON TABLE "cc_pref" IS '';
  321. SET search_path TO public;
  322. CREATE INDEX "cc_pref_subjid_idx" ON "cc_pref" ("subjid");
  323. -----------------------------------------------------------------------------
  324. -- cc_schedule
  325. -----------------------------------------------------------------------------
  326. DROP TABLE "cc_schedule" CASCADE;
  327. CREATE TABLE "cc_schedule"
  328. (
  329. "id" serial NOT NULL,
  330. "starts" TIMESTAMP NOT NULL,
  331. "ends" TIMESTAMP NOT NULL,
  332. "file_id" INTEGER,
  333. "stream_id" INTEGER,
  334. "clip_length" interval default '00:00:00',
  335. "fade_in" TIME default '00:00:00',
  336. "fade_out" TIME default '00:00:00',
  337. "cue_in" interval NOT NULL,
  338. "cue_out" interval NOT NULL,
  339. "media_item_played" BOOLEAN default 'f',
  340. "instance_id" INTEGER NOT NULL,
  341. "playout_status" INT2 default 1 NOT NULL,
  342. "broadcasted" INT2 default 0 NOT NULL,
  343. "position" INTEGER default 0 NOT NULL,
  344. PRIMARY KEY ("id")
  345. );
  346. COMMENT ON TABLE "cc_schedule" IS '';
  347. SET search_path TO public;
  348. CREATE INDEX "cc_schedule_instance_id_idx" ON "cc_schedule" ("instance_id");
  349. -----------------------------------------------------------------------------
  350. -- cc_sess
  351. -----------------------------------------------------------------------------
  352. DROP TABLE "cc_sess" CASCADE;
  353. CREATE TABLE "cc_sess"
  354. (
  355. "sessid" CHAR(32) NOT NULL,
  356. "userid" INTEGER,
  357. "login" VARCHAR(255),
  358. "ts" TIMESTAMP,
  359. PRIMARY KEY ("sessid")
  360. );
  361. COMMENT ON TABLE "cc_sess" IS '';
  362. SET search_path TO public;
  363. CREATE INDEX "cc_sess_login_idx" ON "cc_sess" ("login");
  364. CREATE INDEX "cc_sess_userid_idx" ON "cc_sess" ("userid");
  365. -----------------------------------------------------------------------------
  366. -- cc_smemb
  367. -----------------------------------------------------------------------------
  368. DROP TABLE "cc_smemb" CASCADE;
  369. CREATE TABLE "cc_smemb"
  370. (
  371. "id" INTEGER NOT NULL,
  372. "uid" INTEGER default 0 NOT NULL,
  373. "gid" INTEGER default 0 NOT NULL,
  374. "level" INTEGER default 0 NOT NULL,
  375. "mid" INTEGER,
  376. PRIMARY KEY ("id"),
  377. CONSTRAINT "cc_smemb_id_idx" UNIQUE ("id")
  378. );
  379. COMMENT ON TABLE "cc_smemb" IS '';
  380. SET search_path TO public;
  381. -----------------------------------------------------------------------------
  382. -- cc_subjs
  383. -----------------------------------------------------------------------------
  384. DROP TABLE "cc_subjs" CASCADE;
  385. CREATE TABLE "cc_subjs"
  386. (
  387. "id" serial NOT NULL,
  388. "login" VARCHAR(255) default '' NOT NULL,
  389. "pass" VARCHAR(255) default '' NOT NULL,
  390. "type" CHAR(1) default 'U' NOT NULL,
  391. "first_name" VARCHAR(255) default '' NOT NULL,
  392. "last_name" VARCHAR(255) default '' NOT NULL,
  393. "lastlogin" TIMESTAMP,
  394. "lastfail" TIMESTAMP,
  395. "skype_contact" VARCHAR(255),
  396. "jabber_contact" VARCHAR(255),
  397. "email" VARCHAR(255),
  398. "cell_phone" VARCHAR(255),
  399. "login_attempts" INTEGER default 0,
  400. PRIMARY KEY ("id"),
  401. CONSTRAINT "cc_subjs_id_idx" UNIQUE ("id"),
  402. CONSTRAINT "cc_subjs_login_idx" UNIQUE ("login")
  403. );
  404. COMMENT ON TABLE "cc_subjs" IS '';
  405. SET search_path TO public;
  406. -----------------------------------------------------------------------------
  407. -- cc_subjs_token
  408. -----------------------------------------------------------------------------
  409. DROP TABLE "cc_subjs_token" CASCADE;
  410. CREATE TABLE "cc_subjs_token"
  411. (
  412. "id" serial NOT NULL,
  413. "user_id" INTEGER NOT NULL,
  414. "action" VARCHAR(255) NOT NULL,
  415. "token" VARCHAR(40) NOT NULL,
  416. "created" TIMESTAMP NOT NULL,
  417. PRIMARY KEY ("id"),
  418. CONSTRAINT "cc_subjs_token_idx" UNIQUE ("token")
  419. );
  420. COMMENT ON TABLE "cc_subjs_token" IS '';
  421. SET search_path TO public;
  422. -----------------------------------------------------------------------------
  423. -- cc_country
  424. -----------------------------------------------------------------------------
  425. DROP TABLE "cc_country" CASCADE;
  426. CREATE TABLE "cc_country"
  427. (
  428. "isocode" CHAR(3) NOT NULL,
  429. "name" VARCHAR(255) NOT NULL,
  430. PRIMARY KEY ("isocode")
  431. );
  432. COMMENT ON TABLE "cc_country" IS '';
  433. SET search_path TO public;
  434. -----------------------------------------------------------------------------
  435. -- cc_stream_setting
  436. -----------------------------------------------------------------------------
  437. DROP TABLE "cc_stream_setting" CASCADE;
  438. CREATE TABLE "cc_stream_setting"
  439. (
  440. "keyname" VARCHAR(64) NOT NULL,
  441. "value" VARCHAR(255),
  442. "type" VARCHAR(16) NOT NULL,
  443. PRIMARY KEY ("keyname")
  444. );
  445. COMMENT ON TABLE "cc_stream_setting" IS '';
  446. SET search_path TO public;
  447. -----------------------------------------------------------------------------
  448. -- cc_login_attempts
  449. -----------------------------------------------------------------------------
  450. DROP TABLE "cc_login_attempts" CASCADE;
  451. CREATE TABLE "cc_login_attempts"
  452. (
  453. "ip" VARCHAR(32) NOT NULL,
  454. "attempts" INTEGER default 0,
  455. PRIMARY KEY ("ip")
  456. );
  457. COMMENT ON TABLE "cc_login_attempts" IS '';
  458. SET search_path TO public;
  459. -----------------------------------------------------------------------------
  460. -- cc_service_register
  461. -----------------------------------------------------------------------------
  462. DROP TABLE "cc_service_register" CASCADE;
  463. CREATE TABLE "cc_service_register"
  464. (
  465. "name" VARCHAR(32) NOT NULL,
  466. "ip" VARCHAR(18) NOT NULL,
  467. PRIMARY KEY ("name")
  468. );
  469. COMMENT ON TABLE "cc_service_register" IS '';
  470. SET search_path TO public;
  471. -----------------------------------------------------------------------------
  472. -- cc_live_log
  473. -----------------------------------------------------------------------------
  474. DROP TABLE "cc_live_log" CASCADE;
  475. CREATE TABLE "cc_live_log"
  476. (
  477. "id" serial NOT NULL,
  478. "state" VARCHAR(32) NOT NULL,
  479. "start_time" TIMESTAMP NOT NULL,
  480. "end_time" TIMESTAMP,
  481. PRIMARY KEY ("id")
  482. );
  483. COMMENT ON TABLE "cc_live_log" IS '';
  484. SET search_path TO public;
  485. -----------------------------------------------------------------------------
  486. -- cc_webstream
  487. -----------------------------------------------------------------------------
  488. DROP TABLE "cc_webstream" CASCADE;
  489. CREATE TABLE "cc_webstream"
  490. (
  491. "id" serial NOT NULL,
  492. "name" VARCHAR(255) NOT NULL,
  493. "description" VARCHAR(255) NOT NULL,
  494. "url" VARCHAR(512) NOT NULL,
  495. "length" interval default '00:00:00' NOT NULL,
  496. "creator_id" INTEGER NOT NULL,
  497. "mtime" TIMESTAMP(6) NOT NULL,
  498. "utime" TIMESTAMP(6) NOT NULL,
  499. "lptime" TIMESTAMP(6),
  500. "mime" VARCHAR(255),
  501. PRIMARY KEY ("id")
  502. );
  503. COMMENT ON TABLE "cc_webstream" IS '';
  504. SET search_path TO public;
  505. -----------------------------------------------------------------------------
  506. -- cc_webstream_metadata
  507. -----------------------------------------------------------------------------
  508. DROP TABLE "cc_webstream_metadata" CASCADE;
  509. CREATE TABLE "cc_webstream_metadata"
  510. (
  511. "id" serial NOT NULL,
  512. "instance_id" INTEGER NOT NULL,
  513. "start_time" TIMESTAMP NOT NULL,
  514. "liquidsoap_data" VARCHAR(1024) NOT NULL,
  515. PRIMARY KEY ("id")
  516. );
  517. COMMENT ON TABLE "cc_webstream_metadata" IS '';
  518. SET search_path TO public;
  519. -----------------------------------------------------------------------------
  520. -- cc_mount_name
  521. -----------------------------------------------------------------------------
  522. DROP TABLE "cc_mount_name" CASCADE;
  523. CREATE TABLE "cc_mount_name"
  524. (
  525. "id" serial NOT NULL,
  526. "mount_name" VARCHAR(255) NOT NULL,
  527. PRIMARY KEY ("id")
  528. );
  529. COMMENT ON TABLE "cc_mount_name" IS '';
  530. SET search_path TO public;
  531. -----------------------------------------------------------------------------
  532. -- cc_timestamp
  533. -----------------------------------------------------------------------------
  534. DROP TABLE "cc_timestamp" CASCADE;
  535. CREATE TABLE "cc_timestamp"
  536. (
  537. "id" serial NOT NULL,
  538. "timestamp" TIMESTAMP NOT NULL,
  539. PRIMARY KEY ("id")
  540. );
  541. COMMENT ON TABLE "cc_timestamp" IS '';
  542. SET search_path TO public;
  543. -----------------------------------------------------------------------------
  544. -- cc_listener_count
  545. -----------------------------------------------------------------------------
  546. DROP TABLE "cc_listener_count" CASCADE;
  547. CREATE TABLE "cc_listener_count"
  548. (
  549. "id" serial NOT NULL,
  550. "timestamp_id" INTEGER NOT NULL,
  551. "mount_name_id" INTEGER NOT NULL,
  552. "listener_count" INTEGER NOT NULL,
  553. PRIMARY KEY ("id")
  554. );
  555. COMMENT ON TABLE "cc_listener_count" IS '';
  556. SET search_path TO public;
  557. -----------------------------------------------------------------------------
  558. -- cc_locale
  559. -----------------------------------------------------------------------------
  560. DROP TABLE "cc_locale" CASCADE;
  561. CREATE TABLE "cc_locale"
  562. (
  563. "id" serial NOT NULL,
  564. "locale_code" VARCHAR(16) NOT NULL,
  565. "locale_lang" VARCHAR(128) NOT NULL,
  566. PRIMARY KEY ("id")
  567. );
  568. COMMENT ON TABLE "cc_locale" IS '';
  569. SET search_path TO public;
  570. -----------------------------------------------------------------------------
  571. -- cc_playout_history
  572. -----------------------------------------------------------------------------
  573. DROP TABLE "cc_playout_history" CASCADE;
  574. CREATE TABLE "cc_playout_history"
  575. (
  576. "id" serial NOT NULL,
  577. "file_id" INTEGER,
  578. "starts" TIMESTAMP NOT NULL,
  579. "ends" TIMESTAMP,
  580. "instance_id" INTEGER,
  581. PRIMARY KEY ("id")
  582. );
  583. COMMENT ON TABLE "cc_playout_history" IS '';
  584. SET search_path TO public;
  585. -----------------------------------------------------------------------------
  586. -- cc_playout_history_metadata
  587. -----------------------------------------------------------------------------
  588. DROP TABLE "cc_playout_history_metadata" CASCADE;
  589. CREATE TABLE "cc_playout_history_metadata"
  590. (
  591. "id" serial NOT NULL,
  592. "history_id" INTEGER NOT NULL,
  593. "key" VARCHAR(128) NOT NULL,
  594. "value" VARCHAR(128) NOT NULL,
  595. PRIMARY KEY ("id")
  596. );
  597. COMMENT ON TABLE "cc_playout_history_metadata" IS '';
  598. SET search_path TO public;
  599. -----------------------------------------------------------------------------
  600. -- cc_playout_history_template
  601. -----------------------------------------------------------------------------
  602. DROP TABLE "cc_playout_history_template" CASCADE;
  603. CREATE TABLE "cc_playout_history_template"
  604. (
  605. "id" serial NOT NULL,
  606. "name" VARCHAR(128) NOT NULL,
  607. "type" VARCHAR(35) NOT NULL,
  608. PRIMARY KEY ("id")
  609. );
  610. COMMENT ON TABLE "cc_playout_history_template" IS '';
  611. SET search_path TO public;
  612. -----------------------------------------------------------------------------
  613. -- cc_playout_history_template_field
  614. -----------------------------------------------------------------------------
  615. DROP TABLE "cc_playout_history_template_field" CASCADE;
  616. CREATE TABLE "cc_playout_history_template_field"
  617. (
  618. "id" serial NOT NULL,
  619. "template_id" INTEGER NOT NULL,
  620. "name" VARCHAR(128) NOT NULL,
  621. "label" VARCHAR(128) NOT NULL,
  622. "type" VARCHAR(128) NOT NULL,
  623. "is_file_md" BOOLEAN default 'f' NOT NULL,
  624. "position" INTEGER NOT NULL,
  625. PRIMARY KEY ("id")
  626. );
  627. COMMENT ON TABLE "cc_playout_history_template_field" IS '';
  628. SET search_path TO public;
  629. ALTER TABLE "cc_files" ADD CONSTRAINT "cc_files_owner_fkey" FOREIGN KEY ("owner_id") REFERENCES "cc_subjs" ("id");
  630. ALTER TABLE "cc_files" ADD CONSTRAINT "cc_files_editedby_fkey" FOREIGN KEY ("editedby") REFERENCES "cc_subjs" ("id");
  631. ALTER TABLE "cc_files" ADD CONSTRAINT "cc_music_dirs_folder_fkey" FOREIGN KEY ("directory") REFERENCES "cc_music_dirs" ("id");
  632. ALTER TABLE "cc_perms" ADD CONSTRAINT "cc_perms_subj_fkey" FOREIGN KEY ("subj") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;
  633. ALTER TABLE "cc_show_instances" ADD CONSTRAINT "cc_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;
  634. ALTER TABLE "cc_show_instances" ADD CONSTRAINT "cc_original_show_instance_fkey" FOREIGN KEY ("instance_id") REFERENCES "cc_show_instances" ("id") ON DELETE CASCADE;
  635. ALTER TABLE "cc_show_instances" ADD CONSTRAINT "cc_recorded_file_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("id") ON DELETE CASCADE;
  636. ALTER TABLE "cc_show_days" ADD CONSTRAINT "cc_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;
  637. ALTER TABLE "cc_show_rebroadcast" ADD CONSTRAINT "cc_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;
  638. ALTER TABLE "cc_show_hosts" ADD CONSTRAINT "cc_perm_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;
  639. ALTER TABLE "cc_show_hosts" ADD CONSTRAINT "cc_perm_host_fkey" FOREIGN KEY ("subjs_id") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;
  640. ALTER TABLE "cc_playlist" ADD CONSTRAINT "cc_playlist_createdby_fkey" FOREIGN KEY ("creator_id") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;
  641. ALTER TABLE "cc_playlistcontents" ADD CONSTRAINT "cc_playlistcontents_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("id") ON DELETE CASCADE;
  642. ALTER TABLE "cc_playlistcontents" ADD CONSTRAINT "cc_playlistcontents_block_id_fkey" FOREIGN KEY ("block_id") REFERENCES "cc_block" ("id") ON DELETE CASCADE;
  643. ALTER TABLE "cc_playlistcontents" ADD CONSTRAINT "cc_playlistcontents_playlist_id_fkey" FOREIGN KEY ("playlist_id") REFERENCES "cc_playlist" ("id") ON DELETE CASCADE;
  644. ALTER TABLE "cc_block" ADD CONSTRAINT "cc_block_createdby_fkey" FOREIGN KEY ("creator_id") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;
  645. ALTER TABLE "cc_blockcontents" ADD CONSTRAINT "cc_blockcontents_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("id") ON DELETE CASCADE;
  646. ALTER TABLE "cc_blockcontents" ADD CONSTRAINT "cc_blockcontents_block_id_fkey" FOREIGN KEY ("block_id") REFERENCES "cc_block" ("id") ON DELETE CASCADE;
  647. ALTER TABLE "cc_blockcriteria" ADD CONSTRAINT "cc_blockcontents_block_id_fkey" FOREIGN KEY ("block_id") REFERENCES "cc_block" ("id") ON DELETE CASCADE;
  648. ALTER TABLE "cc_pref" ADD CONSTRAINT "cc_pref_subjid_fkey" FOREIGN KEY ("subjid") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;
  649. ALTER TABLE "cc_schedule" ADD CONSTRAINT "cc_show_inst_fkey" FOREIGN KEY ("instance_id") REFERENCES "cc_show_instances" ("id") ON DELETE CASCADE;
  650. ALTER TABLE "cc_schedule" ADD CONSTRAINT "cc_show_file_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("id") ON DELETE CASCADE;
  651. ALTER TABLE "cc_schedule" ADD CONSTRAINT "cc_show_stream_fkey" FOREIGN KEY ("stream_id") REFERENCES "cc_webstream" ("id") ON DELETE CASCADE;
  652. ALTER TABLE "cc_sess" ADD CONSTRAINT "cc_sess_userid_fkey" FOREIGN KEY ("userid") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;
  653. ALTER TABLE "cc_subjs_token" ADD CONSTRAINT "cc_subjs_token_userid_fkey" FOREIGN KEY ("user_id") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;
  654. ALTER TABLE "cc_webstream_metadata" ADD CONSTRAINT "cc_schedule_inst_fkey" FOREIGN KEY ("instance_id") REFERENCES "cc_schedule" ("id") ON DELETE CASCADE;
  655. ALTER TABLE "cc_listener_count" ADD CONSTRAINT "cc_timestamp_inst_fkey" FOREIGN KEY ("timestamp_id") REFERENCES "cc_timestamp" ("id") ON DELETE CASCADE;
  656. 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;
  657. ALTER TABLE "cc_playout_history" ADD CONSTRAINT "cc_playout_history_file_tag_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("id") ON DELETE CASCADE;
  658. 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;
  659. 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;
  660. 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;