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 _______________________________________________ Webware-discuss mailing list Webware-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/webware-discuss