Difference between revisions of "Database"

From MythTV Official Wiki
Jump to: navigation, search
Line 15: Line 15:
 
| 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||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]]||||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 tue to a particular frequency on a particular input||24||mplexid*,sourceid,transportid,networkid||frequency, polarity, modulation
+
| [[dtv_multiplex table|dtv_multiplex]]||Information needed to tue to a particular frequency on a particular input||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.||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]]||||||||
 
|-
 
|-
| [[movies_movies]]||||||||
+
| [[movies_movies table|movies_movies]]||||||||
 
|-
 
|-
| [[movies_showtimes]]||||||||
+
| [[movies_showtimes table|movies_showtimes]]||||||||
 
|-
 
|-
| [[movies_theaters]]||||||||
+
| [[movies_theaters table|movies_theaters]]||||||||
 
|-
 
|-
| [[music_albumart]]||||||||
+
| [[music_albumart table|music_albumart]]||||||||
 
|-
 
|-
| [[music_albums]]||||||||
+
| [[music_albums table|music_albums]]||||||||
 
|-
 
|-
| [[music_artists]]||||||||
+
| [[music_artists table|music_artists]]||||||||
 
|-
 
|-
| [[music_directories]]||||||||
+
| [[music_directories table|music_directories]]||||||||
 
|-
 
|-
| [[music_genres]]||||||||
+
| [[music_genres table|music_genres]]||||||||
 
|-
 
|-
| [[music_playlists]]||||||||
+
| [[music_playlists table|music_playlists]]||||||||
 
|-
 
|-
| [[music_smartplaylists]]||||||||
+
| [[music_smartplaylists table|music_smartplaylists]]||||||||
 
|-
 
|-
| [[music_smartplaylist_categories]]||||||||
+
| [[music_smartplaylist_categories table|music_smartplaylist_categories]]||||||||
 
|-
 
|-
| [[music_smartplaylist_items]]||||||||
+
| [[music_smartplaylist_items table|music_smartplaylist_items]]||||||||
 
|-
 
|-
| [[music_songs]]||||||||
+
| [[music_songs table|music_songs]]||||||||
 
|-
 
|-
| [[music_stats]]||||||||
+
| [[music_stats table|music_stats]]||||||||
 
|-
 
|-
| [[mythlog]]||||||||
+
| [[mythlog table|mythlog]]||||||||
 
|-
 
|-
| [[networkiconmap]]||||||||
+
| [[networkiconmap table|networkiconmap]]||||||||
 
|-
 
|-
| [[newssites]]||||||||
+
| [[newssites table|newssites]]||||||||
 
|-
 
|-
| [[oldfind]]||||||||
+
| [[oldfind table|oldfind]]||||||||
 
|-
 
|-
| [[oldprogram]]||||||||
+
| [[oldprogram table|oldprogram]]||||||||
 
|-
 
|-
| [[oldrecorded]]||||||||
+
| [[oldrecorded table|oldrecorded]]||||||||
 
|-
 
|-
| [[people]]||||||||
+
| [[people table|people]]||||||||
 
|-
 
|-
| [[phonecallhistory]]||||||||
+
| [[phonecallhistory table|phonecallhistory]]||||||||
 
|-
 
|-
| [[phonedirectory]]||||||||
+
| [[phonedirectory table|phonedirectory]]||||||||
 
|-
 
|-
| [[pidcache]]||||||||
+
| [[pidcache table|pidcache]]||||||||
 
|-
 
|-
| [[playgroup]]||||||||
+
| [[playgroup table|playgroup]]||||||||
 
|-
 
|-
| [[powerpriority]]||||||||
+
| [[powerpriority table|powerpriority]]||||||||
 
|-
 
|-
| [[profilegroups]]||||||||
+
| [[profilegroups table|profilegroups]]||||||||
 
|-
 
|-
| [[program]]||||||||
+
| [[program table|program]]||||||||
 
|-
 
|-
| [[programgenres]]||||||||
+
| [[programgenres table|programgenres]]||||||||
 
|-
 
|-
| [[programrating]]||||||||
+
| [[programrating table|programrating]]||||||||
 
|-
 
|-
| [[recgrouppassword]]||||||||
+
| [[recgrouppassword table|recgrouppassword]]||||||||
 
|-
 
|-
| [[record]]||||||||
+
| [[record table|record]]||||||||
 
|-
 
|-
| [[recorded]]||||||||
+
| [[recorded table|recorded]]||||||||
 
|-
 
|-
| [[recordedartwork]]||||||||
+
| [[recordedartwork table|recordedartwork]]||||||||
 
|-
 
|-
| [[recordedcredits]]||||||||
+
| [[recordedcredits table|recordedcredits]]||||||||
 
|-
 
|-
| [[recordedfile]]||||||||
+
| [[recordedfile table|recordedfile]]||||||||
 
|-
 
|-
| [[recordedmarkup]]||||||||
+
| [[recordedmarkup table|recordedmarkup]]||||||||
 
|-
 
|-
| [[recordedprogram]]||||||||
+
| [[recordedprogram table|recordedprogram]]||||||||
 
|-
 
|-
| [[recordedrating]]||||||||
+
| [[recordedrating table|recordedrating]]||||||||
 
|-
 
|-
| [[recordedseek]]||||||||
+
| [[recordedseek table|recordedseek]]||||||||
 
|-
 
|-
| [[recordfilter]]||||||||
+
| [[recordfilter table|recordfilter]]||||||||
 
|-
 
|-
| [[recordingprofiles]]||||||||
+
| [[recordingprofiles table|recordingprofiles]]||||||||
 
|-
 
|-
| [[recordmatch]]||||||||
+
| [[recordmatch table|recordmatch]]||||||||
 
|-
 
|-
| [[romdb]]||||||||
+
| [[romdb table|romdb]]||||||||
 
|-
 
|-
| [[scannerfile]]||||||||
+
| [[scannerfile table|scannerfile]]||||||||
 
|-
 
|-
| [[scannerpath]]||||||||
+
| [[scannerpath table|scannerpath]]||||||||
 
|-
 
|-
| [[schemalock]]||||||||
+
| [[schemalock table|schemalock]]||||||||
 
|-
 
|-
| [[settings]]||||||||
+
| [[settings table|settings]]||||||||
 
|-
 
|-
| [[storagegroup]]||||||||
+
| [[storagegroup table|storagegroup]]||||||||
 
|-
 
|-
| [[tvchain]]||||||||
+
| [[tvchain table|tvchain]]||||||||
 
|-
 
|-
| [[tvosdmenu]]||||||||
+
| [[tvosdmenu table|tvosdmenu]]||||||||
 
|-
 
|-
| [[upnpmedia]]||||||||
+
| [[upnpmedia table|upnpmedia]]||||||||
 
|-
 
|-
| [[videocast]]||||||||
+
| [[videocast table|videocast]]||||||||
 
|-
 
|-
| [[videocategory]]||||||||
+
| [[videocategory table|videocategory]]||||||||
 
|-
 
|-
| [[videocollection]]||||||||
+
| [[videocollection table|videocollection]]||||||||
 
|-
 
|-
| [[videocountry]]||||||||
+
| [[videocountry table|videocountry]]||||||||
 
|-
 
|-
| [[videogenre]]||||||||
+
| [[videogenre table|videogenre]]||||||||
 
|-
 
|-
| [[videometadata]]||||||||
+
| [[videometadata table|videometadata]]||||||||
 
|-
 
|-
| [[videometadatacast]]||||||||
+
| [[videometadatacast table|videometadatacast]]||||||||
 
|-
 
|-
| [[videometadatacountry]]||||||||
+
| [[videometadatacountry table|videometadatacountry]]||||||||
 
|-
 
|-
| [[videometadatagenre]]||||||||
+
| [[videometadatagenre table|videometadatagenre]]||||||||
 
|-
 
|-
| [[videopart]]||||||||
+
| [[videopart table|videopart]]||||||||
 
|-
 
|-
| [[videopathinfo]]||||||||
+
| [[videopathinfo table|videopathinfo]]||||||||
 
|-
 
|-
| [[videosource]]||This table tells us about a particular input on a video capture card.||||||
+
| [[videosource table|videosource]]||This table tells us about a particular input on a video capture card.||||||
 
|-
 
|-
| [[videotypes]]||||||||
+
| [[videotypes table|videotypes]]||||||||
 
|-
 
|-
| [[weatherdatalayout]]||||||||
+
| [[weatherdatalayout table|weatherdatalayout]]||||||||
 
|-
 
|-
| [[weatherscreens]]||||||||
+
| [[weatherscreens table|weatherscreens]]||||||||
 
|-
 
|-
| [[weathersourcesettings]]||||||||
+
| [[weathersourcesettings table|weathersourcesettings]]||||||||
 
|-
 
|-
| [[websites]]||||||||
+
| [[websites table|websites]]||||||||
|-
 
|  
 
 
|}
 
|}
  

Revision as of 11:31, 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 108 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.

Table name Purpose Fields Key relationship fields Other notable fields
archiveitems
callsignnetworkmap
capturecard Attributes of capture card 26 cardid*,diseqid videodevice,audiodevice,cardtype
cardinput
channel 28 channelid*, freqid, sourceid, xmltvid, mplexid, iptvid name, channelnum, icon, recpriority, contrast
channelgroup 3 id*, chanid, grpid
channelgroupnames 2 grpid*
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_dtv_multiplex
codecparams
credits
customexample
diseqc_config
diseqc_tree
displayprofilegroups
displayprofiles
dtv_multiplex Information needed to tue to a particular frequency on a particular input 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
dvdbookmark
dvdinput
dvdtranscode
eit_cache
filemarkup
gallerymetadata
gamemetadata
gameplayers
housekeeping
inputgroup
internetcontent
internetcontentarticles
inuseprograms
iptv_channel
jobqueue
jumppoints
keybindings
keyword
livestream
logging
movies_movies
movies_showtimes
movies_theaters
music_albumart
music_albums
music_artists
music_directories
music_genres
music_playlists
music_smartplaylists
music_smartplaylist_categories
music_smartplaylist_items
music_songs
music_stats
mythlog
networkiconmap
newssites
oldfind
oldprogram
oldrecorded
people
phonecallhistory
phonedirectory
pidcache
playgroup
powerpriority
profilegroups
program
programgenres
programrating
recgrouppassword
record
recorded
recordedartwork
recordedcredits
recordedfile
recordedmarkup
recordedprogram
recordedrating
recordedseek
recordfilter
recordingprofiles
recordmatch
romdb
scannerfile
scannerpath
schemalock
settings
storagegroup
tvchain
tvosdmenu
upnpmedia
videocast
videocategory
videocollection
videocountry
videogenre
videometadata
videometadatacast
videometadatacountry
videometadatagenre
videopart
videopathinfo
videosource This table tells us about a particular input on a video capture card.
videotypes
weatherdatalayout
weatherscreens
weathersourcesettings
websites

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.