Where is the abstract-schema branch now? The only thing I remember about
that was a brief mailing list discussion (I think started by Daniel
Friesnen) about making such a format. What exactly were the hold-ups with
updates?

*--*
*Tyler Romeo*
Stevens Institute of Technology, Class of 2015
Major in Computer Science
www.whizkidztech.com | tylerro...@gmail.com


On Mon, Feb 25, 2013 at 4:35 PM, Chad <innocentkil...@gmail.com> wrote:

> On Mon, Feb 25, 2013 at 1:29 PM, Greg Sabino Mullane <g...@endpoint.com>
> wrote:
> > Mark A. Hershberger wrote:
> >> How can we improve the support for databases like PostgreSQL, Oracle,
> >> DB2 and MS SQL?
> >>
> >> Getting Jenkins involved in testing isn't the (only) answer, though it
> >> would certainly help.
> >>
> >> If developers who were interested in those databases could watch
> >> includes/db, that would help, as well.
> >
> > I've tackled this problem, and will share my experience. The problem
> being how
> > to keep all the schemas in sync. I looked at the existing solution
> someone
> > else started, but found it pretty rough. My idea (I called it "abstract
> schema")
> > was a central SQL file, which used a fairly straightforward SQL-ish
> syntax,
> > and then a parser that could read that file and create versions for
> MySQL,
> > Postgres, etc. Or just load that information into memory for the install
> > and upgrade process. I actually had a working prototype for that, which
> > worked quite well. It made the upgrades in particular very smooth, as
> > there were no more patch files needed, the installer simply read the
> current
> > canonical schema state and made the necessary changes.
> >
> > The big, showstopping problem was trying to map the existing tables.sql
> > file (the main MySQL one) into the new system. There is no
> straightforward
> > mapping possible, as every single table in the system I had to try and
> > figure out why column such-and-such was using this type, and why
> sometimes
> > there was a default and other times not for similar cases, etc. It was
> quite
> > the nightmare, so that's why I eventually abandoned the work. The
> tables.sql
> > file is quite obviously organically grown, and has little rhyme or
> reason.
> > I did come up with some basic naming rules (esp. for indexes), which
> means
> > that the first release with the new system will rename a lot of objects,
> > but as they are not referenced directly, that should not be a problem.
> >
> > I'm happy to dig out my notes if anyone wants some examples of the
> > type mapping issues. I think an abstract tables.sql is a good general
> > approach, but getting from here to there is going to require a lot
> > of work slogging through those data types.
> >
>
> This was exactly what we tried with the abstract-schema branch,
> before it was abandoned. The place we got stuck on was handling
> updates.
>
> -Chad
>
> _______________________________________________
> Wikitech-l mailing list
> Wikitech-l@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to