Difference between revisions of "Database"
m (→Database tables) |
|||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | MythTV uses a [http://www.mysql.com/ MySQL] | + | MythTV uses a [http://www.mysql.com/ MySQL] relational database to manage almost all aspects of configuration and day-to-day operation. [[Mythfrontend]], [[mythbackend]], [[mythfilldatabase]], [[:Category:Plugins|MythTV plugins]] and ancillary programs all interact with the database and use it to store settings and information. |
By default, the database is named [[Database Schema|mythconverg]] and contains a set of [[:Category:DB Table|tables]] that interact with one-another. When running multiple frontends and/or backends, only one database is required. | By default, the database is named [[Database Schema|mythconverg]] and contains a set of [[:Category:DB Table|tables]] that interact with one-another. When running multiple frontends and/or backends, only one database is required. | ||
==Database tables== | ==Database tables== | ||
− | In 0.26 there are | + | In 0.26 there are 103 tables in the database. The incomplete schema below gives some information about what each table is for and some of the key fields. |
Information on the 0.27 database schema generated by [http://en.wikipedia.org/wiki/Doxygen Doxygen] is available [http://code.mythtv.org/doxygen/group__db__schema.html here] on the MythTV code development site. | Information on the 0.27 database schema generated by [http://en.wikipedia.org/wiki/Doxygen Doxygen] is available [http://code.mythtv.org/doxygen/group__db__schema.html here] on the MythTV code development site. | ||
Line 11: | Line 11: | ||
| align="center" style="background:#f0f0f0;"|'''Table name''' | | align="center" style="background:#f0f0f0;"|'''Table name''' | ||
| align="center" style="background:#f0f0f0;"|'''Purpose''' | | align="center" style="background:#f0f0f0;"|'''Purpose''' | ||
+ | | align="center" style="background:#f0f0f0;"|'''Doxygen docs''' | ||
| align="center" style="background:#f0f0f0;"|'''Fields''' | | align="center" style="background:#f0f0f0;"|'''Fields''' | ||
| align="center" style="background:#f0f0f0;"|'''Key relationship fields''' | | align="center" style="background:#f0f0f0;"|'''Key relationship fields''' | ||
| align="center" style="background:#f0f0f0;"|'''Other notable fields''' | | align="center" style="background:#f0f0f0;"|'''Other notable fields''' | ||
|- | |- | ||
− | | [[archiveitems]]|||||||| | + | | [[archiveitems table|archiveitems]]|||||||||| |
|- | |- | ||
− | | [[callsignnetworkmap]]|||||||| | + | | [[callsignnetworkmap table|callsignnetworkmap]]|||||||||| |
|- | |- | ||
− | | [[capturecard]]||Attributes of capture card||26||cardid*,diseqid||videodevice,audiodevice,cardtype | + | | [[capturecard table|capturecard]]||Attributes of capture card||[http://code.mythtv.org/doxygen/group__db__schema.html#capturecard_table]||26||cardid*,diseqid||videodevice,audiodevice,cardtype |
|- | |- | ||
− | | [[cardinput]]|||||||| | + | | [[cardinput table|cardinput]]|||||||||| |
|- | |- | ||
− | | [[channel]]||||28||channelid*, freqid, sourceid, xmltvid, mplexid, iptvid||name, channelnum, icon, recpriority, contrast | + | | [[channel table|channel]]||||[http://code.mythtv.org/doxygen/group__db__schema.html#channel_table]||28||channelid*, freqid, sourceid, xmltvid, mplexid, iptvid||name, channelnum, icon, recpriority, contrast |
|- | |- | ||
− | | [[channelgroup]]||||3||id*, chanid, grpid|| | + | | [[channelgroup table|channelgroup]]||||||3||id*, chanid, grpid|| |
|- | |- | ||
− | | [[channelgroupnames]]||||2||grpid*|| | + | | [[channelgroupnames table|channelgroupnames]]||||||2||grpid*|| |
|- | |- | ||
− | | [[channelscan]]||||5||scanid*,cardid,sourceid||processed, scandate | + | | [[channelscan table|channelscan]]||||||5||scanid*,cardid,sourceid||processed, scandate |
|- | |- | ||
− | | [[channelscan_channel]]||||38||transportid,scanid,mplex_id,source_id,service_id, xmltvid||freqid, service_name, chan_num | + | | [[channelscan_channel table|channelscan_channel]]||||||38||transportid,scanid,mplex_id,source_id,service_id, xmltvid||freqid, service_name, chan_num |
|- | |- | ||
− | | [[channelscan_dtv_multiplex]]|||||||| | + | | [[channelscan_dtv_multiplex table|channelscan_dtv_multiplex]]|||||||||| |
|- | |- | ||
− | | [[codecparams]]|||||||| | + | | [[codecparams table|codecparams]]|||||||||| |
|- | |- | ||
− | | [[credits]]|||||||| | + | | [[credits table|credits]]|||||||||| |
|- | |- | ||
− | | [[customexample]]|||||||| | + | | [[customexample table|customexample]]|||||||||| |
|- | |- | ||
− | | [[diseqc_config]]|||||||| | + | | [[diseqc_config table|diseqc_config]]|||||||||| |
|- | |- | ||
− | | [[diseqc_tree]]|||||||| | + | | [[diseqc_tree table|diseqc_tree]]|||||||||| |
|- | |- | ||
− | | [[displayprofilegroups]]|||||||| | + | | [[displayprofilegroups table|displayprofilegroups]]|||||||||| |
|- | |- | ||
− | | [[displayprofiles]]|||||||| | + | | [[displayprofiles table|displayprofiles]]|||||||||| |
|- | |- | ||
− | | [[dtv_multiplex]]||Information needed to | + | | [[dtv_multiplex table|dtv_multiplex]]||Information needed to tune to a particular frequency on a particular input||[http://code.mythtv.org/doxygen/group__db__schema.html#dtv_multiplex_table]||24||mplexid*,sourceid,transportid,networkid||frequency, polarity, modulation |
|- | |- | ||
− | | [[dtv_privatetypes]]||Free form data pertaining to DVB services, it is like a settings table for DVB.||4||networkid||sitype,private_type,private_value | + | | [[dtv_privatetypes table|dtv_privatetypes]]||Free form data pertaining to DVB services, it is like a settings table for DVB.||[http://code.mythtv.org/doxygen/group__db__schema.html#dtv_privatetypes_table]||4||networkid||sitype,private_type,private_value |
|- | |- | ||
− | | [[dvdbookmark]]|||||||| | + | | [[dvdbookmark table|dvdbookmark]]|||||||||| |
|- | |- | ||
− | | [[dvdinput]]|||||||| | + | | [[dvdinput table|dvdinput]]|||||||||| |
|- | |- | ||
− | | [[dvdtranscode]]|||||||| | + | | [[dvdtranscode table|dvdtranscode]]|||||||||| |
|- | |- | ||
− | | [[eit_cache]]|||||||| | + | | [[eit_cache table|eit_cache]]|||||||||| |
|- | |- | ||
− | | [[filemarkup]]|||||||| | + | | [[filemarkup table|filemarkup]]|||||||||| |
|- | |- | ||
− | | [[gallerymetadata]]|||||||| | + | | [[gallerymetadata table|gallerymetadata]]|||||||||| |
|- | |- | ||
− | | [[gamemetadata]]|||||||| | + | | [[gamemetadata table|gamemetadata]]|||||||||| |
|- | |- | ||
− | | [[gameplayers]]|||||||| | + | | [[gameplayers table|gameplayers]]|||||||||| |
|- | |- | ||
− | | [[housekeeping]]|||||||| | + | | [[housekeeping table|housekeeping]]|||||||||| |
|- | |- | ||
− | | [[inputgroup]]|||||||| | + | | [[inputgroup table|inputgroup]]|||||||||| |
|- | |- | ||
− | | [[internetcontent]]|||||||| | + | | [[internetcontent table|internetcontent]]|||||||||| |
|- | |- | ||
− | | [[internetcontentarticles]]|||||||| | + | | [[internetcontentarticles table|internetcontentarticles]]|||||||||| |
|- | |- | ||
− | | [[inuseprograms]]|||||||| | + | | [[inuseprograms table|inuseprograms]]|||||||||| |
|- | |- | ||
− | | [[iptv_channel]]|||||||| | + | | [[iptv_channel table|iptv_channel]]|||||||||| |
|- | |- | ||
− | | [[jobqueue]]|||||||| | + | | [[jobqueue table|jobqueue]]|||||||||| |
|- | |- | ||
− | | [[jumppoints]]|||||||| | + | | [[jumppoints table|jumppoints]]|||||||||| |
|- | |- | ||
− | | [[keybindings]]|||||||| | + | | [[keybindings table|keybindings]]|||||||||| |
|- | |- | ||
− | | [[keyword]]|||||||| | + | | [[keyword table|keyword]]|||||||||| |
|- | |- | ||
− | | [[livestream]]|||||||| | + | | [[livestream table|livestream]]|||||||||| |
|- | |- | ||
− | | [[logging]]|||||||| | + | | [[logging table|logging]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_albumart table|music_albumart]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_albums table|music_albums]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_artists table|music_artists]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_directories table|music_directories]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_genres table|music_genres]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_playlists table|music_playlists]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_smartplaylists table|music_smartplaylists]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_smartplaylist_categories table|music_smartplaylist_categories]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_smartplaylist_items table|music_smartplaylist_items]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_songs table|music_songs]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[music_stats table|music_stats]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[mythlog table|mythlog]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[networkiconmap table|networkiconmap]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[newssites table|newssites]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[oldfind table|oldfind]]||||[http://code.mythtv.org/doxygen/group__db__schema.html#oldfind_table]|||||| |
|- | |- | ||
− | | [[ | + | | [[oldprogram table|oldprogram]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[oldrecorded table|oldrecorded]]||||[http://code.mythtv.org/doxygen/group__db__schema.html#oldrecorded_table]|||||| |
|- | |- | ||
− | | [[ | + | | [[people table|people]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[pidcache table|pidcache]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[playgroup table|playgroup]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[powerpriority table|powerpriority]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[profilegroups table|profilegroups]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[program table|program]]||||[http://code.mythtv.org/doxygen/group__db__schema.html#program_table]|||||| |
|- | |- | ||
− | | [[ | + | | [[programgenres table|programgenres]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[programrating table|programrating]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recgrouppassword table|recgrouppassword]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[record table|record]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recorded table|recorded]]||||[http://code.mythtv.org/doxygen/group__db__schema.html#recorded_table]|||||| |
|- | |- | ||
− | | [[ | + | | [[recordedartwork table|recordedartwork]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recordedcredits table|recordedcredits]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recordedfile table|recordedfile]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recordedmarkup table|recordedmarkup]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recordedprogram table|recordedprogram]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recordedrating table|recordedrating]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recordedseek table|recordedseek]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recordfilter table|recordfilter]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recordingprofiles table|recordingprofiles]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[recordmatch table|recordmatch]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[romdb table|romdb]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[scannerfile table|scannerfile]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[scannerpath table|scannerpath]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[schemalock table|schemalock]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[settings table|settings]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[storagegroup table|storagegroup]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[tvchain table|tvchain]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[tvosdmenu table|tvosdmenu]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[upnpmedia table|upnpmedia]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videocast table|videocast]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videocategory table|videocategory]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videocollection table|videocollection]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videocountry table|videocountry]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videogenre table|videogenre]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videometadata table|videometadata]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videometadatacast table|videometadatacast]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videometadatacountry table|videometadatacountry]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videometadatagenre table|videometadatagenre]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videopart table|videopart]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videopathinfo table|videopathinfo]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[videosource table|videosource]]||This table tells us about a particular input on a video capture card.||[http://code.mythtv.org/doxygen/group__db__schema.html#videosource_table]|||||| |
|- | |- | ||
− | | [[ | + | | [[videotypes table|videotypes]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[weatherdatalayout table|weatherdatalayout]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[weatherscreens table|weatherscreens]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[weathersourcesettings table|weathersourcesettings]]|||||||||| |
|- | |- | ||
− | | [[ | + | | [[websites table|websites]]|||||||||| |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | | | ||
− | | | ||
|} | |} | ||
Latest revision as of 15:04, 14 February 2013
MythTV uses a MySQL relational database to manage almost all aspects of configuration and day-to-day operation. Mythfrontend, mythbackend, mythfilldatabase, MythTV plugins and ancillary programs all interact with the database and use it to store settings and information.
By default, the database is named mythconverg and contains a set of tables that interact with one-another. When running multiple frontends and/or backends, only one database is required.
Database tables
In 0.26 there are 103 tables in the database. The incomplete schema below gives some information about what each table is for and some of the key fields.
Information on the 0.27 database schema generated by Doxygen is available here on the MythTV code development site.
Command line interface
Use the mysql
command on the host running the database:
% mysql -u mythtv -pmythtv mythconverg
SQL commands can be issued at the mysql> prompt.
Graphical interface
Try installing phpMyAdmin, which can administrate MySQL databases via a browser.