schema.xml 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--Autogenerated by PropelSchemaReverseTask class.-->
  3. <database name="airtime" defaultIdMethod="native">
  4. <table name="cc_music_dirs" phpName="CcMusicDirs">
  5. <column name="id" phpName="Id" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  6. <column name="directory" phpName="Directory" type="LONGVARCHAR" required="false"/>
  7. <column name="type" phpName="Type" type="VARCHAR" size="255" required="false"/>
  8. <column name="exists" phpName="Exists" type="BOOLEAN" required="false" defaultValue="true"/>
  9. <column name="watched" phpName="Watched" type="BOOLEAN" required="false" defaultValue="true"/>
  10. <unique name="cc_music_dir_unique">
  11. <unique-column name="directory"/>
  12. </unique>
  13. </table>
  14. <table name="cc_files" phpName="CcFiles">
  15. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  16. <column name="name" phpName="DbName" type="VARCHAR" size="255" required="true" defaultValue=""/>
  17. <column name="mime" phpName="DbMime" type="VARCHAR" size="255" required="true" defaultValue=""/>
  18. <column name="ftype" phpName="DbFtype" type="VARCHAR" size="128" required="true" defaultValue=""/>
  19. <column name="directory" phpName="DbDirectory" type="INTEGER" required="false"/>
  20. <column name="filepath" phpName="DbFilepath" type="LONGVARCHAR" required="false" defaultValue=""/>
  21. <column name="state" phpName="DbState" type="VARCHAR" size="128" required="true" defaultValue="empty"/>
  22. <column name="currentlyaccessing" phpName="DbCurrentlyaccessing" type="INTEGER" required="true" defaultValue="0"/>
  23. <column name="editedby" phpName="DbEditedby" type="INTEGER" required="false"/>
  24. <column name="mtime" phpName="DbMtime" type="TIMESTAMP" size="6" required="false"/>
  25. <column name="utime" phpName="DbUtime" type="TIMESTAMP" size="6" required="false"/>
  26. <column name="lptime" phpName="DbLPtime" type="TIMESTAMP" size="6" required="false"/>
  27. <column name="md5" phpName="DbMd5" type="CHAR" size="32" required="false"/>
  28. <column name="track_title" phpName="DbTrackTitle" type="VARCHAR" size="512" required="false"/>
  29. <column name="artist_name" phpName="DbArtistName" type="VARCHAR" size="512" required="false"/>
  30. <column name="bit_rate" phpName="DbBitRate" type="INTEGER" required="false"/>
  31. <column name="sample_rate" phpName="DbSampleRate" type="INTEGER" required="false"/>
  32. <column name="format" phpName="DbFormat" type="VARCHAR" size="128" required="false"/>
  33. <column name="length" phpName="DbLength" type="VARCHAR" sqlType="interval" defaultValue="00:00:00" required="false"/>
  34. <column name="album_title" phpName="DbAlbumTitle" type="VARCHAR" size="512" required="false"/>
  35. <column name="genre" phpName="DbGenre" type="VARCHAR" size="64" required="false"/>
  36. <column name="comments" phpName="DbComments" type="LONGVARCHAR" required="false"/>
  37. <column name="year" phpName="DbYear" type="VARCHAR" size="16" required="false"/>
  38. <column name="track_number" phpName="DbTrackNumber" type="INTEGER" required="false"/>
  39. <column name="channels" phpName="DbChannels" type="INTEGER" required="false"/>
  40. <column name="url" phpName="DbUrl" type="VARCHAR" size="1024" required="false"/>
  41. <column name="bpm" phpName="DbBpm" type="INTEGER" required="false"/>
  42. <column name="rating" phpName="DbRating" type="VARCHAR" size="8" required="false"/>
  43. <column name="encoded_by" phpName="DbEncodedBy" type="VARCHAR" size="255" required="false"/>
  44. <column name="disc_number" phpName="DbDiscNumber" type="VARCHAR" size="8" required="false"/>
  45. <column name="mood" phpName="DbMood" type="VARCHAR" size="64" required="false"/>
  46. <column name="label" phpName="DbLabel" type="VARCHAR" size="512" required="false"/>
  47. <column name="composer" phpName="DbComposer" type="VARCHAR" size="512" required="false"/>
  48. <column name="encoder" phpName="DbEncoder" type="VARCHAR" size="64" required="false"/>
  49. <column name="checksum" phpName="DbChecksum" type="VARCHAR" size="256" required="false"/>
  50. <column name="lyrics" phpName="DbLyrics" type="LONGVARCHAR" required="false"/>
  51. <column name="orchestra" phpName="DbOrchestra" type="VARCHAR" size="512" required="false"/>
  52. <column name="conductor" phpName="DbConductor" type="VARCHAR" size="512" required="false"/>
  53. <column name="lyricist" phpName="DbLyricist" type="VARCHAR" size="512" required="false"/>
  54. <column name="original_lyricist" phpName="DbOriginalLyricist" type="VARCHAR" size="512" required="false"/>
  55. <column name="radio_station_name" phpName="DbRadioStationName" type="VARCHAR" size="512" required="false"/>
  56. <column name="info_url" phpName="DbInfoUrl" type="VARCHAR" size="512" required="false"/>
  57. <column name="artist_url" phpName="DbArtistUrl" type="VARCHAR" size="512" required="false"/>
  58. <column name="audio_source_url" phpName="DbAudioSourceUrl" type="VARCHAR" size="512" required="false"/>
  59. <column name="radio_station_url" phpName="DbRadioStationUrl" type="VARCHAR" size="512" required="false"/>
  60. <column name="buy_this_url" phpName="DbBuyThisUrl" type="VARCHAR" size="512" required="false"/>
  61. <column name="isrc_number" phpName="DbIsrcNumber" type="VARCHAR" size="512" required="false"/>
  62. <column name="catalog_number" phpName="DbCatalogNumber" type="VARCHAR" size="512" required="false"/>
  63. <column name="original_artist" phpName="DbOriginalArtist" type="VARCHAR" size="512" required="false"/>
  64. <column name="copyright" phpName="DbCopyright" type="VARCHAR" size="512" required="false"/>
  65. <column name="report_datetime" phpName="DbReportDatetime" type="VARCHAR" size="32" required="false"/>
  66. <column name="report_location" phpName="DbReportLocation" type="VARCHAR" size="512" required="false"/>
  67. <column name="report_organization" phpName="DbReportOrganization" type="VARCHAR" size="512" required="false"/>
  68. <column name="subject" phpName="DbSubject" type="VARCHAR" size="512" required="false"/>
  69. <column name="contributor" phpName="DbContributor" type="VARCHAR" size="512" required="false"/>
  70. <column name="language" phpName="DbLanguage" type="VARCHAR" size="512" required="false"/>
  71. <column name="file_exists" phpName="DbFileExists" type="BOOLEAN" required="false" defaultValue="true"/>
  72. <column name="soundcloud_id" phpName="DbSoundcloudId" type="Integer" required="false"/>
  73. <column name="soundcloud_error_code" phpName="DbSoundcloudErrorCode" type="Integer" required="false"/>
  74. <column name="soundcloud_error_msg" phpName="DbSoundcloudErrorMsg" type="VARCHAR" size="512" required="false"/>
  75. <column name="soundcloud_link_to_file" phpName="DbSoundcloudLinkToFile" type="VARCHAR" size="4096" required="false"/>
  76. <column name="soundcloud_upload_time" phpName="DbSoundCloundUploadTime" type="TIMESTAMP" size="6" required="false"/>
  77. <column name="replay_gain" phpName="DbReplayGain" type="NUMERIC" required="false"/>
  78. <column name="owner_id" phpName="DbOwnerId" type="INTEGER" required="false"/>
  79. <column name="cuein" phpName="DbCuein" type="VARCHAR" sqlType="interval" required="false" defaultValue="00:00:00"/>
  80. <column name="cueout" phpName="DbCueout" type="VARCHAR" sqlType="interval" required="false" defaultValue="00:00:00"/>
  81. <column name="silan_check" phpName="DbSilanCheck" type="BOOLEAN" defaultValue="false"/>
  82. <column name="hidden" phpName="DbHidden" type="BOOLEAN" defaultValue="false"/>
  83. <column name="is_scheduled" phpName="DbIsScheduled" type="BOOLEAN" defaultValue="false"/>
  84. <column name="is_playlist" phpName="DbIsPlaylist" type="BOOLEAN" defaultValue="false"/>
  85. <foreign-key foreignTable="cc_subjs" phpName="FkOwner" name="cc_files_owner_fkey">
  86. <reference local="owner_id" foreign="id"/>
  87. </foreign-key>
  88. <foreign-key foreignTable="cc_subjs" name="cc_files_editedby_fkey">
  89. <reference local="editedby" foreign="id"/>
  90. </foreign-key>
  91. <foreign-key foreignTable="cc_music_dirs" name="cc_music_dirs_folder_fkey">
  92. <reference local="directory" foreign="id"/>
  93. </foreign-key>
  94. <index name="cc_files_md5_idx">
  95. <index-column name="md5"/>
  96. </index>
  97. <index name="cc_files_name_idx">
  98. <index-column name="name"/>
  99. </index>
  100. </table>
  101. <table name="cc_perms" phpName="CcPerms">
  102. <column name="permid" phpName="Permid" type="INTEGER" primaryKey="true" required="true"/>
  103. <column name="subj" phpName="Subj" type="INTEGER" required="false"/>
  104. <column name="action" phpName="Action" type="VARCHAR" size="20" required="false"/>
  105. <column name="obj" phpName="Obj" type="INTEGER" required="false"/>
  106. <column name="type" phpName="Type" type="CHAR" size="1" required="false"/>
  107. <foreign-key foreignTable="cc_subjs" name="cc_perms_subj_fkey" onDelete="CASCADE">
  108. <reference local="subj" foreign="id"/>
  109. </foreign-key>
  110. <unique name="cc_perms_all_idx">
  111. <unique-column name="subj"/>
  112. <unique-column name="action"/>
  113. <unique-column name="obj"/>
  114. </unique>
  115. <unique name="cc_perms_permid_idx">
  116. <unique-column name="permid"/>
  117. </unique>
  118. <index name="cc_perms_subj_obj_idx">
  119. <index-column name="subj"/>
  120. <index-column name="obj"/>
  121. </index>
  122. </table>
  123. <table name="cc_show" phpName="CcShow">
  124. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  125. <column name="name" phpName="DbName" type="VARCHAR" size="255" required="true" defaultValue=""/>
  126. <column name="url" phpName="DbUrl" type="VARCHAR" size="255" required="false" defaultValue=""/>
  127. <column name="genre" phpName="DbGenre" type="VARCHAR" size="255" required="false" defaultValue=""/>
  128. <column name="description" phpName="DbDescription" type="VARCHAR" size="512" required="false"/>
  129. <column name="color" phpName="DbColor" type="VARCHAR" size="6" required="false"/>
  130. <column name="background_color" phpName="DbBackgroundColor" type="VARCHAR" size="6" required="false"/>
  131. <column name="live_stream_using_airtime_auth" phpName="DbLiveStreamUsingAirtimeAuth" type="BOOLEAN" required="false" defaultValue="false"/>
  132. <column name="live_stream_using_custom_auth" phpName="DbLiveStreamUsingCustomAuth" type="BOOLEAN" required="false" defaultValue="false"/>
  133. <column name="live_stream_user" phpName="DbLiveStreamUser" type="VARCHAR" size="255" required="false"/>
  134. <column name="live_stream_pass" phpName="DbLiveStreamPass" type="VARCHAR" size="255" required="false"/>
  135. <column name="linked" phpName="DbLinked" type="BOOLEAN" required="true" defaultValue="false" />
  136. <column name="is_linkable" phpName="DbIsLinkable" type="BOOLEAN" required="true" defaultValue="true" />
  137. <!-- A show is_linkable if it has never been linked before. Once a show becomes unlinked
  138. it can not be linked again -->
  139. <column name="image_path" phpName="DbImagePath" type="VARCHAR" size="255" required="false" defaultValue=""/>
  140. <!-- Fully qualified path for the image associated with this show.
  141. Default is /path/to/stor/dir/:ownerId/show-images/:showId/imageName -->
  142. </table>
  143. <table name="cc_show_instances" phpName="CcShowInstances">
  144. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  145. <column name="description" phpName="DbDescription" type="VARCHAR" size="512" required="false" defaultValue=""/>
  146. <column name="starts" phpName="DbStarts" type="TIMESTAMP" required="true"/>
  147. <column name="ends" phpName="DbEnds" type="TIMESTAMP" required="true"/>
  148. <column name="show_id" phpName="DbShowId" type="INTEGER" required="true"/>
  149. <column name="record" phpName="DbRecord" type="TINYINT" required="false" defaultValue="0"/>
  150. <column name="rebroadcast" phpName="DbRebroadcast" type="TINYINT" required="false" defaultValue="0"/>
  151. <column name="instance_id" phpName="DbOriginalShow" type="INTEGER" required="false"/>
  152. <column name="file_id" phpName="DbRecordedFile" type="INTEGER" required="false"/>
  153. <column name="time_filled" phpName="DbTimeFilled" type="VARCHAR" sqlType="interval" defaultValue="00:00:00" />
  154. <column name="created" phpName="DbCreated" type="TIMESTAMP" required="true"/>
  155. <column name="last_scheduled" phpName="DbLastScheduled" type="TIMESTAMP" required="false"/>
  156. <!-- The purpose of the modified_instance column is to mark a show instance that was
  157. deleted when it was part of repeating show. This is useful because the way shows work,
  158. instances can be regenerated if we edit the show, which is unwanted behaviour. This column serves
  159. to ensure that we don't regenerate the instance. -->
  160. <column name="modified_instance" phpName="DbModifiedInstance" type="BOOLEAN" required="true" defaultValue="false" />
  161. <foreign-key foreignTable="cc_show" name="cc_show_fkey" onDelete="CASCADE">
  162. <reference local="show_id" foreign="id"/>
  163. </foreign-key>
  164. <foreign-key foreignTable="cc_show_instances" name="cc_original_show_instance_fkey" onDelete="CASCADE">
  165. <reference local="instance_id" foreign="id"/>
  166. </foreign-key>
  167. <foreign-key foreignTable="cc_files" name="cc_recorded_file_fkey" onDelete="CASCADE">
  168. <reference local="file_id" foreign="id"/>
  169. </foreign-key>
  170. </table>
  171. <table name="cc_show_days" phpName="CcShowDays">
  172. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  173. <column name="first_show" phpName="DbFirstShow" type="DATE" required="true"/>
  174. <column name="last_show" phpName="DbLastShow" type="DATE" required="false"/>
  175. <column name="start_time" phpName="DbStartTime" type="TIME" required="true"/>
  176. <column name="timezone" phpName="DbTimezone" type="VARCHAR" required="true"/>
  177. <column name="duration" phpName="DbDuration" type="VARCHAR" required="true"/>
  178. <column name="day" phpName="DbDay" type="TINYINT" required="false"/>
  179. <column name="repeat_type" phpName="DbRepeatType" type="TINYINT" required="true"/>
  180. <column name="next_pop_date" phpName="DbNextPopDate" type="DATE" required="false"/>
  181. <column name="show_id" phpName="DbShowId" type="INTEGER" required="true"/>
  182. <column name="record" phpName="DbRecord" type="TINYINT" required="false" defaultValue="0"/>
  183. <foreign-key foreignTable="cc_show" name="cc_show_fkey" onDelete="CASCADE">
  184. <reference local="show_id" foreign="id"/>
  185. </foreign-key>
  186. </table>
  187. <table name="cc_show_rebroadcast" phpName="CcShowRebroadcast">
  188. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  189. <column name="day_offset" phpName="DbDayOffset" type="VARCHAR" required="true"/>
  190. <column name="start_time" phpName="DbStartTime" type="TIME" required="true"/>
  191. <column name="show_id" phpName="DbShowId" type="INTEGER" required="true"/>
  192. <foreign-key foreignTable="cc_show" name="cc_show_fkey" onDelete="CASCADE">
  193. <reference local="show_id" foreign="id"/>
  194. </foreign-key>
  195. </table>
  196. <table name="cc_show_hosts" phpName="CcShowHosts">
  197. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  198. <column name="show_id" phpName="DbShow" type="INTEGER" required="true"/>
  199. <column name="subjs_id" phpName="DbHost" type="INTEGER" required="true"/>
  200. <foreign-key foreignTable="cc_show" name="cc_perm_show_fkey" onDelete="CASCADE">
  201. <reference local="show_id" foreign="id"/>
  202. </foreign-key>
  203. <foreign-key foreignTable="cc_subjs" name="cc_perm_host_fkey" onDelete="CASCADE">
  204. <reference local="subjs_id" foreign="id"/>
  205. </foreign-key>
  206. </table>
  207. <table name="cc_playlist" phpName="CcPlaylist">
  208. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  209. <column name="name" phpName="DbName" type="VARCHAR" size="255" required="true" defaultValue=""/>
  210. <column name="mtime" phpName="DbMtime" type="TIMESTAMP" size="6" required="false"/>
  211. <column name="utime" phpName="DbUtime" type="TIMESTAMP" size="6" required="false"/>
  212. <column name="creator_id" phpName="DbCreatorId" type="INTEGER" required="false"/>
  213. <column name="description" phpName="DbDescription" type="VARCHAR" size="512" required="false"/>
  214. <column name="length" phpName="DbLength" type="VARCHAR" sqlType="interval" defaultValue="00:00:00"/>
  215. <behavior name="aggregate_column">
  216. <parameter name="name" value="length" />
  217. <parameter name="foreign_table" value="cc_playlistcontents" />
  218. <parameter name="expression" value="SUM(cliplength)" />
  219. </behavior>
  220. <foreign-key foreignTable="cc_subjs" name="cc_playlist_createdby_fkey" onDelete="CASCADE">
  221. <reference local="creator_id" foreign="id"/>
  222. </foreign-key>
  223. </table>
  224. <table name="cc_playlistcontents" phpName="CcPlaylistcontents">
  225. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  226. <column name="playlist_id" phpName="DbPlaylistId" type="INTEGER" required="false"/>
  227. <column name="file_id" phpName="DbFileId" type="INTEGER" required="false"/>
  228. <column name="block_id" phpName="DbBlockId" type="INTEGER" required="false"/>
  229. <column name="stream_id" phpName="DbStreamId" type="INTEGER" required="false"/>
  230. <!-- What type of item is stored in the playlist.
  231. 0: audiotrack
  232. 1: webstream
  233. 2: block
  234. 1: webstream
  235. -->
  236. <column name="type" phpName="DbType" type="SMALLINT" required="true" default="0"/>
  237. <column name="position" phpName="DbPosition" type="INTEGER" required="false"/>
  238. <column name="trackoffset" phpName="DbTrackOffset" type="REAL" required="true" default="0"/>
  239. <column name="cliplength" phpName="DbCliplength" type="VARCHAR" sqlType="interval" required="false" defaultValue="00:00:00"/>
  240. <column name="cuein" phpName="DbCuein" type="VARCHAR" sqlType="interval" required="false" defaultValue="00:00:00"/>
  241. <column name="cueout" phpName="DbCueout" type="VARCHAR" sqlType="interval" required="false" defaultValue="00:00:00"/>
  242. <column name="fadein" phpName="DbFadein" type="TIME" required="false" defaultValue="00:00:00"/>
  243. <column name="fadeout" phpName="DbFadeout" type="TIME" required="false" defaultValue="00:00:00"/>
  244. <foreign-key foreignTable="cc_files" name="cc_playlistcontents_file_id_fkey" onDelete="CASCADE">
  245. <reference local="file_id" foreign="id"/>
  246. </foreign-key>
  247. <foreign-key foreignTable="cc_block" name="cc_playlistcontents_block_id_fkey" onDelete="CASCADE">
  248. <reference local="block_id" foreign="id"/>
  249. </foreign-key>
  250. <foreign-key foreignTable="cc_playlist" name="cc_playlistcontents_playlist_id_fkey" onDelete="CASCADE">
  251. <reference local="playlist_id" foreign="id"/>
  252. </foreign-key>
  253. </table>
  254. <table name="cc_block" phpName="CcBlock">
  255. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  256. <column name="name" phpName="DbName" type="VARCHAR" size="255" required="true" defaultValue=""/>
  257. <column name="mtime" phpName="DbMtime" type="TIMESTAMP" size="6" required="false"/>
  258. <column name="utime" phpName="DbUtime" type="TIMESTAMP" size="6" required="false"/>
  259. <column name="creator_id" phpName="DbCreatorId" type="INTEGER" required="false"/>
  260. <column name="description" phpName="DbDescription" type="VARCHAR" size="512" required="false"/>
  261. <column name="length" phpName="DbLength" type="VARCHAR" sqlType="interval" defaultValue="00:00:00"/>
  262. <column name="type" phpName="DbType" type="VARCHAR" size="7" defaultValue="static"/>
  263. <behavior name="aggregate_column">
  264. <parameter name="name" value="length" />
  265. <parameter name="foreign_table" value="cc_blockcontents" />
  266. <parameter name="expression" value="SUM(cliplength)" />
  267. </behavior>
  268. <foreign-key foreignTable="cc_subjs" name="cc_block_createdby_fkey" onDelete="CASCADE">
  269. <reference local="creator_id" foreign="id"/>
  270. </foreign-key>
  271. </table>
  272. <table name="cc_blockcontents" phpName="CcBlockcontents">
  273. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  274. <column name="block_id" phpName="DbBlockId" type="INTEGER" required="false"/>
  275. <column name="file_id" phpName="DbFileId" type="INTEGER" required="false"/>
  276. <column name="position" phpName="DbPosition" type="INTEGER" required="false"/>
  277. <column name="trackoffset" phpName="DbTrackOffset" type="REAL" required="true" default="0"/>
  278. <column name="cliplength" phpName="DbCliplength" type="VARCHAR" sqlType="interval" required="false" defaultValue="00:00:00"/>
  279. <column name="cuein" phpName="DbCuein" type="VARCHAR" sqlType="interval" required="false" defaultValue="00:00:00"/>
  280. <column name="cueout" phpName="DbCueout" type="VARCHAR" sqlType="interval" required="false" defaultValue="00:00:00"/>
  281. <column name="fadein" phpName="DbFadein" type="TIME" required="false" defaultValue="00:00:00"/>
  282. <column name="fadeout" phpName="DbFadeout" type="TIME" required="false" defaultValue="00:00:00"/>
  283. <foreign-key foreignTable="cc_files" name="cc_blockcontents_file_id_fkey" onDelete="CASCADE">
  284. <reference local="file_id" foreign="id"/>
  285. </foreign-key>
  286. <foreign-key foreignTable="cc_block" name="cc_blockcontents_block_id_fkey" onDelete="CASCADE">
  287. <reference local="block_id" foreign="id"/>
  288. </foreign-key>
  289. </table>
  290. <table name="cc_blockcriteria" phpName="CcBlockcriteria">
  291. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  292. <column name="criteria" phpName="DbCriteria" type="VARCHAR" size="32" required="true"/>
  293. <column name="modifier" phpName="DbModifier" type="VARCHAR" size="16" required="true"/>
  294. <column name="value" phpName="DbValue" type="VARCHAR" size="512" required="true"/>
  295. <column name="extra" phpName="DbExtra" type="VARCHAR" size="512" required="false"/>
  296. <column name="block_id" phpName="DbBlockId" type="INTEGER" required="true"/>
  297. <foreign-key foreignTable="cc_block" name="cc_blockcontents_block_id_fkey" onDelete="CASCADE">
  298. <reference local="block_id" foreign="id"/>
  299. </foreign-key>
  300. </table>
  301. <table name="cc_pref" phpName="CcPref">
  302. <column name="id" phpName="Id" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  303. <column name="subjid" phpName="Subjid" type="INTEGER" required="false"/>
  304. <column name="keystr" phpName="Keystr" type="VARCHAR" size="255" required="false"/>
  305. <column name="valstr" phpName="Valstr" type="LONGVARCHAR" required="false"/>
  306. <foreign-key foreignTable="cc_subjs" name="cc_pref_subjid_fkey" onDelete="CASCADE">
  307. <reference local="subjid" foreign="id"/>
  308. </foreign-key>
  309. <unique name="cc_pref_id_idx">
  310. <unique-column name="id"/>
  311. </unique>
  312. <unique name="cc_pref_subj_key_idx">
  313. <unique-column name="subjid"/>
  314. <unique-column name="keystr"/>
  315. </unique>
  316. <index name="cc_pref_subjid_idx">
  317. <index-column name="subjid"/>
  318. </index>
  319. </table>
  320. <table name="cc_schedule" phpName="CcSchedule">
  321. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  322. <column name="starts" phpName="DbStarts" type="TIMESTAMP" required="true"/>
  323. <column name="ends" phpName="DbEnds" type="TIMESTAMP" required="true"/>
  324. <column name="file_id" phpName="DbFileId" type="INTEGER" required="false"/>
  325. <column name="stream_id" phpName="DbStreamId" type="INTEGER" required="false"/>
  326. <column name="clip_length" phpName="DbClipLength" type="VARCHAR" sqlType="interval" required="false" defaultValue="00:00:00"/>
  327. <column name="fade_in" phpName="DbFadeIn" type="TIME" required="false" defaultValue="00:00:00"/>
  328. <column name="fade_out" phpName="DbFadeOut" type="TIME" required="false" defaultValue="00:00:00"/>
  329. <column name="cue_in" phpName="DbCueIn" type="VARCHAR" sqlType="interval" required="true"/>
  330. <column name="cue_out" phpName="DbCueOut" type="VARCHAR" sqlType="interval" required="true"/>
  331. <column name="media_item_played" phpName="DbMediaItemPlayed" type="BOOLEAN" required="false" defaultValue="0"/>
  332. <column name="instance_id" phpName="DbInstanceId" type="INTEGER" required="true"/>
  333. <column name="playout_status" phpName="DbPlayoutStatus" type="SMALLINT" required="true" defaultValue="1"/>
  334. <column name="broadcasted" phpName="DbBroadcasted" type="SMALLINT" required="true" defaultValue="0"/>
  335. <!-- Broadcasted is set to 1 when show and master source are not on.
  336. We need to know this for logging playout history. (It only gets logged when
  337. broadcasted = 1)
  338. -->
  339. <column name="position" phpName="DbPosition" type="INTEGER" required="true" default="0" />
  340. <!-- This foreign key is still useful even though it may seem we don't ever delete cc_show_instances anymore.
  341. We will do delete them in some cases (when editing a show and changing the repeating days of the week
  342. for example. \
  343. TLDR: Don't delete this foreign key constraint. -->
  344. <foreign-key foreignTable="cc_show_instances" name="cc_show_inst_fkey" onDelete="CASCADE">
  345. <reference local="instance_id" foreign="id"/>
  346. </foreign-key>
  347. <foreign-key foreignTable="cc_files" name="cc_show_file_fkey" onDelete="CASCADE">
  348. <reference local="file_id" foreign="id"/>
  349. </foreign-key>
  350. <foreign-key foreignTable="cc_webstream" name="cc_show_stream_fkey" onDelete="CASCADE">
  351. <reference local="stream_id" foreign="id"/>
  352. </foreign-key>
  353. <index name="cc_schedule_instance_id_idx">
  354. <index-column name="instance_id"/>
  355. </index>
  356. </table>
  357. <table name="cc_sess" phpName="CcSess">
  358. <column name="sessid" phpName="Sessid" type="CHAR" size="32" primaryKey="true" required="true"/>
  359. <column name="userid" phpName="Userid" type="INTEGER" required="false"/>
  360. <column name="login" phpName="Login" type="VARCHAR" size="255" required="false"/>
  361. <column name="ts" phpName="Ts" type="TIMESTAMP" required="false"/>
  362. <foreign-key foreignTable="cc_subjs" name="cc_sess_userid_fkey" onDelete="CASCADE">
  363. <reference local="userid" foreign="id"/>
  364. </foreign-key>
  365. <index name="cc_sess_login_idx">
  366. <index-column name="login"/>
  367. </index>
  368. <index name="cc_sess_userid_idx">
  369. <index-column name="userid"/>
  370. </index>
  371. </table>
  372. <table name="cc_smemb" phpName="CcSmemb">
  373. <column name="id" phpName="Id" type="INTEGER" primaryKey="true" required="true"/>
  374. <column name="uid" phpName="Uid" type="INTEGER" required="true" defaultValue="0"/>
  375. <column name="gid" phpName="Gid" type="INTEGER" required="true" defaultValue="0"/>
  376. <column name="level" phpName="Level" type="INTEGER" required="true" defaultValue="0"/>
  377. <column name="mid" phpName="Mid" type="INTEGER" required="false"/>
  378. <unique name="cc_smemb_id_idx">
  379. <unique-column name="id"/>
  380. </unique>
  381. </table>
  382. <table name="cc_subjs" phpName="CcSubjs">
  383. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  384. <column name="login" phpName="DbLogin" type="VARCHAR" size="255" required="true" defaultValue=""/>
  385. <column name="pass" phpName="DbPass" type="VARCHAR" size="255" required="true" defaultValue=""/>
  386. <column name="type" phpName="DbType" type="CHAR" size="1" required="true" defaultValue="U"/>
  387. <column name="first_name" phpName="DbFirstName" type="VARCHAR" size="255" required="true" defaultValue=""/>
  388. <column name="last_name" phpName="DbLastName" type="VARCHAR" size="255" required="true" defaultValue=""/>
  389. <column name="lastlogin" phpName="DbLastlogin" type="TIMESTAMP" required="false"/>
  390. <column name="lastfail" phpName="DbLastfail" type="TIMESTAMP" required="false"/>
  391. <column name="skype_contact" phpName="DbSkypeContact" type="VARCHAR" required="false"/>
  392. <column name="jabber_contact" phpName="DbJabberContact" type="VARCHAR" required="false"/>
  393. <column name="email" phpName="DbEmail" type="VARCHAR" required="false"/>
  394. <column name="cell_phone" phpName="DbCellPhone" type="VARCHAR" required="false"/>
  395. <column name="login_attempts" phpName="DbLoginAttempts" type="INTEGER" required="false" defaultValue="0"/>
  396. <unique name="cc_subjs_id_idx">
  397. <unique-column name="id"/>
  398. </unique>
  399. <unique name="cc_subjs_login_idx">
  400. <unique-column name="login"/>
  401. </unique>
  402. </table>
  403. <table name="cc_subjs_token" phpName="CcSubjsToken">
  404. <column name="id" phpName="DbId" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
  405. <column name="user_id" phpName="DbUserId" type="INTEGER" required="true"/>
  406. <column name="action" phpName="DbAction" type="VARCHAR" size="255" required="true"/>
  407. <column name="token" phpName="DbToken" type="VARCHAR" size="40" required="true"/>
  408. <column name="created" phpName="DbCreated" type="TIMESTAMP" required="true"/>
  409. <unique name="cc_subjs_token_idx">
  410. <unique-column name="token"/>
  411. </unique>
  412. <foreign-key foreignTable="cc_subjs" name="cc_subjs_token_userid_fkey" onDelete="CASCADE">
  413. <reference local="user_id" foreign="id"/>
  414. </foreign-key>
  415. </table>
  416. <table name="cc_country" phpName="CcCountry">
  417. <column name="isocode" phpName="DbIsoCode" primaryKey="true" type="CHAR" size="3" required="true"/>
  418. <column name="name" phpName="DbName" type="VARCHAR" size="255" required="true"/>
  419. </table>
  420. <table name="cc_stream_setting" phpName="CcStreamSetting">
  421. <column name="keyname" phpName="DbKeyName" primaryKey="true" type="VARCHAR" size="64" required="true"/>
  422. <column name="value" phpName="DbValue" type="VARCHAR" size="255" required="false"/>
  423. <column name="type" phpName="DbType" type="VARCHAR" size="16" required="true"/>
  424. </table>
  425. <table name="cc_login_attempts" phpName="CcLoginAttempts">
  426. <column name="ip" phpName="DbIP" primaryKey="true" type="VARCHAR" size="32" required="true"/>
  427. <column name="attempts" phpName="DbAttempts" type="INTEGER" required="false" defaultValue="0"/>
  428. </table>
  429. <table name="cc_service_register" phpName="CcServiceRegister">
  430. <column name="name" phpName="DbName" primaryKey="true" type="VARCHAR" size="32" required="true" />
  431. <column name="ip" phpName="DbIp" type="VARCHAR" size="18" required="true"/>
  432. </table>
  433. <table name="cc_live_log" phpName="CcLiveLog">
  434. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  435. <column name="state" phpName="DbState" type="VARCHAR" size="32" required="true" />
  436. <column name="start_time" phpName="DbStartTime" type="TIMESTAMP" required="true" />
  437. <column name="end_time" phpName="DbEndTime" type="TIMESTAMP" required="false"/>
  438. </table>
  439. <table name="cc_webstream" phpName="CcWebstream">
  440. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  441. <column name="name" phpName="DbName" type="VARCHAR" size="255" required="true" />
  442. <!-- TODO, remove hardlimit on this column length? -->
  443. <column name="description" phpName="DbDescription" type="VARCHAR" size="255" required="true" />
  444. <column name="url" phpName="DbUrl" type="VARCHAR" size="512" required="true" />
  445. <column name="length" phpName="DbLength" type="VARCHAR" sqlType="interval" required="true" defaultValue="00:00:00"/>
  446. <column name="creator_id" phpName="DbCreatorId" type="INTEGER" required="true" />
  447. <column name="mtime" phpName="DbMtime" type="TIMESTAMP" size="6" required="true" />
  448. <column name="utime" phpName="DbUtime" type="TIMESTAMP" size="6" required="true" />
  449. <column name="lptime" phpName="DbLPtime" type="TIMESTAMP" size="6" required="false"/>
  450. <column name="mime" phpName="DbMime" type="VARCHAR" />
  451. </table>
  452. <table name="cc_webstream_metadata" phpName="CcWebstreamMetadata">
  453. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  454. <column name="instance_id" phpName="DbInstanceId" type="INTEGER" required="true"/>
  455. <column name="start_time" phpName="DbStartTime" type="TIMESTAMP" required="true" />
  456. <column name="liquidsoap_data" phpName="DbLiquidsoapData" type="VARCHAR" size="1024" required="true"/>
  457. <foreign-key foreignTable="cc_schedule" name="cc_schedule_inst_fkey" onDelete="CASCADE">
  458. <reference local="instance_id" foreign="id"/>
  459. </foreign-key>
  460. </table>
  461. <table name="cc_mount_name" phpName="CcMountName">
  462. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  463. <column name="mount_name" phpName="DbMountName" type="VARCHAR" required="true" />
  464. </table>
  465. <table name="cc_timestamp" phpName="CcTimestamp">
  466. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  467. <column name="timestamp" phpName="DbTimestamp" type="TIMESTAMP" required="true" />
  468. </table>
  469. <table name="cc_listener_count" phpName="CcListenerCount">
  470. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  471. <column name="timestamp_id" phpName="DbTimestampId" type="INTEGER" required="true"/>
  472. <column name="mount_name_id" phpName="DbMountNameId" type="INTEGER" required="true"/>
  473. <column name="listener_count" phpName="DbListenerCount" type="INTEGER" required="true" />
  474. <foreign-key foreignTable="cc_timestamp" name="cc_timestamp_inst_fkey" onDelete="CASCADE">
  475. <reference local="timestamp_id" foreign="id"/>
  476. </foreign-key>
  477. <foreign-key foreignTable="cc_mount_name" name="cc_mount_name_inst_fkey" onDelete="CASCADE">
  478. <reference local="mount_name_id" foreign="id"/>
  479. </foreign-key>
  480. </table>
  481. <table name="cc_playout_history" phpName="CcPlayoutHistory">
  482. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  483. <column name="file_id" phpName="DbFileId" type="INTEGER" required="false" />
  484. <column name="starts" phpName="DbStarts" type="TIMESTAMP" required="true"/>
  485. <column name="ends" phpName="DbEnds" type="TIMESTAMP" required="false"/>
  486. <column name="instance_id" phpName="DbInstanceId" type="INTEGER" required="false"/>
  487. <foreign-key foreignTable="cc_files" name="cc_playout_history_file_tag_fkey" onDelete="CASCADE">
  488. <reference local="file_id" foreign="id"/>
  489. </foreign-key>
  490. <foreign-key foreignTable="cc_show_instances" name="cc_his_item_inst_fkey" onDelete="SETNULL">
  491. <reference local="instance_id" foreign="id"/>
  492. </foreign-key>
  493. </table>
  494. <table name="cc_playout_history_metadata" phpName="CcPlayoutHistoryMetaData">
  495. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  496. <column name="history_id" phpName="DbHistoryId" type="INTEGER" required="true" />
  497. <column name="key" phpName="DbKey" type="VARCHAR" size="128" required="true" />
  498. <column name="value" phpName="DbValue" type="VARCHAR" size="128" required="true" />
  499. <foreign-key foreignTable="cc_playout_history" name="cc_playout_history_metadata_entry_fkey" onDelete="CASCADE">
  500. <reference local="history_id" foreign="id"/>
  501. </foreign-key>
  502. </table>
  503. <table name="cc_playout_history_template" phpName="CcPlayoutHistoryTemplate">
  504. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  505. <column name="name" phpName="DbName" type="VARCHAR" size="128" required="true" />
  506. <column name="type" phpName="DbType" type="VARCHAR" size="35" required="true" />
  507. </table>
  508. <table name="cc_playout_history_template_field" phpName="CcPlayoutHistoryTemplateField">
  509. <column name="id" phpName="DbId" primaryKey="true" type="INTEGER" autoIncrement="true" required="true" />
  510. <column name="template_id" phpName="DbTemplateId" type="INTEGER" required="true" />
  511. <column name="name" phpName="DbName" type="VARCHAR" size="128" required="true" />
  512. <column name="label" phpName="DbLabel" type="VARCHAR" size="128" required="true" />
  513. <column name="type" phpName="DbType" type="VARCHAR" size="128" required="true" />
  514. <column name="is_file_md" phpName="DbIsFileMD" type="BOOLEAN" required="true" defaultValue="false"/>
  515. <column name="position" phpName="DbPosition" type="INTEGER" required="true" />
  516. <foreign-key foreignTable="cc_playout_history_template" name="cc_playout_history_template_template_fkey" onDelete="CASCADE">
  517. <reference local="template_id" foreign="id"/>
  518. </foreign-key>
  519. </table>
  520. </database>