[mythtv-users] why change db stuff with every version change?

Michael T. Dean mtdean at thirdcontact.com
Wed Nov 25 13:46:55 UTC 2009


On 11/25/2009 03:08 AM, Evuraan wrote:
> <snip>
> .22 frontends will not work with .21 backends
> This version of MythTV requires an updated database.(schema is 30
> versions behind)
> </snip>
>
> sounds too  familiar, I had to tear down my db & rebuild when i came
> from previous versions to 0.21 and seems the cycle repeats again.
> which makes wonder, why are we doing this to ourselves?
>
> why cant we leave the db schema as it is?
>
> now if you have solid reasons to convince  that changes in db schema
> with every version change is good evolution supported by good reasons,
> pls treat this as a silly rant.
>
> or at least, provide some sort of backward compatibiity so that the
> precious db of yester years continues to be of use with upstream
> versions w/o having to redo the db that'd be swell.
>   

What you want is forwards compatibility, not backwards compatibility.

Backwards compatibility would allow you to run MythTV 0.10 using a 0.22 
database schema (or MythTV 0.21-fixes with a 0.22-fixes database 
schema).  There's /absolutely/ no reason to allow this, so it's not 
supported.

Forwards compatibility, on the other hand, allows you to start with a 
MythTV 0.15 database and upgrade to a 0.22 database schema.  As Greg 
mentioned, this /is/ supported.

Note that MythTV 0.22 requires that your database schema be version 0.15 
or greater, which, IMHO, is far more prior versions than it needs to 
support.  If you have an earlier database schema (meaning you've been 
using a version of MythTV earlier than 0.15--using a version that's 6 
years old or more), you'll just have to do "incremental" upgrades by 
installing intermediate versions and updating.  Since I doubt anyone out 
there actually has such old versions running, this is definitely not a 
problem.

> (yes, I probably can dump the tables & rebuild the db to the new
> schema if i stfw, but i'd happier if i did not have to)

Then be happy.

Other points to note: only mythtv-setup and mythbackend can upgrade the 
MythTV TV database schema.  Only plugins can upgrade the plugin schema.

So, to upgrade, you must:

a) Shut down all running (old-version) MythTV processes (mythbackend, 
mythfrontend, mythcommflag, mythtranscode, and mythtv-setup).
b) Make a database backup ( 
http://www.mythtv.org/wiki/Database_Backup_and_Restore ) for your own 
peace of mind
c) Start mythtv-setup from the new MythTV version and answer the 
questions/wait until it finishes upgrading your database
d) Start mythbackend on the master backend host
e) Start mythfrontend on a single host and let it upgrade your plugin 
database versions (answering the questions and waiting until it finishes)
f) Start other mythbackend and mythfrontend processes on other hosts as 
desired

Mike


More information about the mythtv-users mailing list