Forgot to reply all...
On Fri, Jun 28, 2013 at 10:53 AM, Bernhard Reiter <[email protected]> wrote: > Tom, > > Am 2013-06-28 15:07, schrieb Thomas Mills Hinkle: > > Bernhard et al, > > I'm the one to blame... > > I've been a bit busy and haven't followed all the development leading up > to the 0.16 release, but it looks like 0.16.0 went out with changes to the > database model but *without* code to update existing databases. > > Actually, I tried to make sure existing databases *are* updated, see > https://github.com/thinkle/gourmet/blob/master/gourmet/backends/db.py#L510through > line 554. I thought I tested this stuff -- does it break your DB? > > > <https://github.com/thinkle/gourmet/blob/master/gourmet/backends/db.py#L510> > Yes. The update code must not have run or not have worked for my DB. I get a complaint about the "ID" column not existing for the pantry DB. > <https://github.com/thinkle/gourmet/blob/master/gourmet/backends/db.py#L510> > > Specifically, it seems like primary keys have been changed in the pantry > and other columns. > > This is pretty bad -- I've always tried to ensure that existing users > get treated well. I'm wondering, have bug reports been flowing in about > this? Is 0.16 not out generally? > > Yes it is, and the Ubuntu package has even been part of 13.04 already. > (Other distributions lag behind a bit, though, and I still haven't managed > to roll out a Windows release.) I really tried to make sure not to break > anything -- please describe what specifically is broken (any errors, or > messed up DB layouts?) Anyway, there have been no bug reports yet that I > was able to attribute to this change. Actually, not that many new bug > reports after 0.16 at all... > > Usually when I've broken the DB I've heard about it, so it may be that there's an odd reason why it's not running on my system. > For the future, changes to the DB structure are a pain in the ass and > shouldn't be made for simple "code cleanup" reasons -- I doubt there is any > functional benefit to introducing new primary key columns named 'id' in > place of or in addition to the old ones? > > Yes there is -- it wasn't possible to connect gourmet to a MySQL database > before that change, see https://github.com/thinkle/gourmet/issues/681 and > the blog article linked therein that made me aware of the issue, > http://blog.henrygis.com/2011/02/setting-up-gourmet-recipe-manager-part.html > > In a nutshell, MySQL requires length parameters to VARCHARs if they're > supposed to serve as primary keys. So I had the choice between adding such > parameters (with some arbitrarily chosen value for their maximum lengths, > thus possibly breaking longer values in the affected columns), or introduce > new auto-incremented integer primary keys -- I went for the latter. (This > is also described in the comment at > https://github.com/thinkle/gourmet/blob/master/gourmet/backends/db.py#L535) > > > <https://github.com/thinkle/gourmet/blob/master/gourmet/backends/db.py#L535> > Makes sense. All's well then -- it had looked like it might just be code clean-up. Obviously using an INT and ID as a key is more kosher and probably the right way (tm), but I had wanted to warn us off changing the DB unnecessarily for obvious reasons. > <https://github.com/thinkle/gourmet/blob/master/gourmet/backends/db.py#L535> > > I would tend to be inclined to just roll back the changes (that's what > I'll do locally), > > Please don't (at least not in the public git repo) -- as described above, > this wasn't just for cleanup's sake. If it's really broken, we'd better > provide an actual fix with 0.16.1. > > Of course -- in agreement. > but since the code is now in the wild and new users will get the new > columns, I think we have to write the update code anyway. > > Ironically, the one bug report I know of related to this is > https://github.com/thinkle/gourmet/issues/711 -- seems like it still > doesn't work with MySQL, but I haven't had the time yet to look into it. > Oh the pain of software -- pity that. I haven't played with MySQL myself in Gourmet in years. Tom > > <https://github.com/thinkle/gourmet/issues/711> > > Tom > > Bernhard > >
-- Mailing list: https://launchpad.net/~gourmet Post to : [email protected] Unsubscribe : https://launchpad.net/~gourmet More help : https://help.launchpad.net/ListHelp

