Re: MiddleKit Schema Upgrade

Seth Remington <[email protected]>
Newsgroups gmane.comp.python.webware
Message-ID <[email protected]>
On Thu, 2006-09-07 at 09:45 -0700, Chuck Esterbrook wrote:
> On 9/7/06, Seth Remington <[email protected]> wrote:
> > Hello All,
> >
> > I am using MiddleKit in an open source application and as most projects
> > go it is expanding and evolving, and the database structure is evolving
> > with it.
> >
> > So now I have a requirement to provide a convenient upgrade path for
> > users that includes database schema changes. MiddleKit is wonderful for
> > doing a fresh install... but not so much for upgrading an existing
> > install.
> >
> > I've researched the archives and wiki and found the references to
> > mysqldiff. Unfortunately I can't guarantee that other users are going to
> > be using MySQL so the resulting SQL might not be portable.
> >
> > I'm thinking I might have to write something to use the MiddleKit.Design
> > internals to generate the appropriate SQL for the appropriate database.
> > But before I delved into that I thought I would ask the community if
> > anyone has dealt with this situation before, or perhaps a better
> > suggestion about how to go about it.
> >
> > -Seth
> 
> Hi Seth,
> 
> Everytime I've dealt with this situation, I have used mysqldiff,
> pgdiff or RedGate SQL Compare. So always the same approach, just a
> different tool depending on the database.
> 
> You certainly could write a program that would load an old MK model
> and a current model and then generate the statements to turn the old
> into the new. Of course, the user will have to ensure that they feed
> the correct old model that matches their current
> database-to-be-updated. I feel that could be error prone and/or
> burdensome which is why I went the "sql schema diff" route. Plus it
> saves time to leverage them.
> 
> But if you did write an MK-update utility, it would be along the lines
> of loading the two models and then enumerating the Klasses and Attrs
> inside to determine what had to be added, removed or altered. MK
> models are comprised of objects from the classes seen in
> MiddleKit/Core/*.py. The code in MiddleKit/Design certainly shows
> examples of plowing through the contents of a model. And yeah, you
> would leverage it for any CREATE statements you needed to generate.
> You'd have to write the ALTERs and removals yourself.
> 
> If you have more MK questions, feel free.
> 
> -Chuck

Thanks Chuck. I'm going to ponder this a bit more. You've given me a good head start.

-Seth
-- 
Seth Remington <[email protected]>


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.