[mythtv] Ticket #8215: MythWeb hostname/setting hostname comparison is not case-insensitive

Michael T. Dean mtdean at thirdcontact.com
Sat Jun 12 16:35:59 UTC 2010


On 06/11/2010 09:55 PM, Nigel Pearson wrote:
> On 12/06/2010, at 4:59 AM, Jeremy Palenchar wrote:
>    
>> I wrote a tool in a former life that would compare the schemas of two
>> different databases and then generate the sql code necessary to make one
>> look like the other.
>>
>> Would it make sense to have such a tool for Myth to repair schemas?
>>      
> Perhaps. It would never be an automatic sort of thing,
> but I think something that could compare between two backups,
> or a backup and a live DB, would be good tool for contrib?
>    

I would prefer not having such a tool.  My reasons are:

a) There's no way that a schema will become corrupt unless someone does 
something they shouldn't be doing (generally editing the schema 
directly--though a slightly more understandable cause may be if a user 
applies certain (unapplied/unvetted) patches from Trac to their own 
local copy without realizing the potential consequences).
b) In-database conversions of data (when types/column 
lengths/charset/collation/...) differ can actually corrupt the 
data--therefore, even after "fixing," the data is still suspect--not to 
mention the problems/confusion that would result when there's a missing 
column or table.  Throwing away all non-recreatable data and keeping 
only data which has no effect on configuration/how MythTV works is the 
best way to ensure that all critical data is valid.  (Remember that none 
of the MythTV application data integrity requirements are expressed in 
the database--it's all in application code.)  I.e. such a tool could 
guarantee a correct schema, but nothing can guarantee valid data.
c) The user loses absolutely nothing using the partial-restore 
approach--all non-recreatable data is preserved.  Then, the user only 
needs to recreate the rest of the data--settings and configuration, 
primarily, as well as re-running some tools, such as mythfilldatabase.
d) The issue is very uncommon, so even when it does occur, it's not a 
great hardship to use a partial-restore approach to fixing it.  And, a 
little bit of pain helps enforce the lesson.  ;)
e) A ton of users use the partial-restore approach even when they 
shouldn't (i.e. "to clean out my database" when they have a valid schema 
and data), so it can't be that bad if people choose to do it when its 
only benefit is making their lives more difficult.  (I can actually do 
the partial-restore approach and have my system up and running in 30min.)
f) Maybe more...  (The idea just gives me a bad feeling.  :)

Thanks for the offer, but I think since there is already a supported 
approach that guarantees a valid schema and ensures critical data is 
valid after the fix, there's no need for another less-certain tool.  If 
you do decide to create such a script, it should go to the scripts 
section of the wiki ( http://www.mythtv.org/wiki/Category:Scripts ), 
which is where most of what used to be in contrib has gone.

Anyway, that's just my opinion.

Mike


More information about the mythtv-dev mailing list