NYCPHP Meetup

NYPHP.org

[nycphp-talk] YAML and Database Definitions

Gary Mort garyamort at gmail.com
Wed Feb 10 08:40:52 EST 2010


On Wed, Feb 10, 2010 at 8:12 AM, Chris Snyder <chsnyder at gmail.com> wrote:

> On Wed, Feb 10, 2010 at 7:42 AM, Gary Mort <garyamort at gmail.com> wrote:
>
> > So now I'm wondering is YAML used in such a manner and is there a
> standard
> > definition for how to use YAML, or is both Doctrine and Andromeda simply
> > rolling their own systems?  I don't want to point him to the main YAML
> site,
> > because frankly outside of database design he really has no interest in
> > learning another millionth computer language.
>
> You have concept mismatch there. YAML is a way (one of thousands) to
> store structured data. Like XML, or CSV, or JSON, or the binary
> formats used by databases. It's a file format.
>

Or the SQL DDL files for databases. :-)

Or the XML DDL files for databases.

Doctrine and Andromeda[and Symphony and a number of other frameworks] can
read and write Database defintions from a YAML file.  And MySQL workbench
will reverse engineer a database and store the definitions as YAML[yes, that
is storing data.  In this case, instead of the data IN the tables, it is
storing the data ABOUT the tables].

However, YAML is a high level markup language.  It doesn't specify down to
the specific level what the field NAMES will be called.  It just says if you
have an array of data, here is how you can present it as text.

Moreover, there are many high level database concepts[foreign keys,
triggers, etc] that can also be mapped into YAML terms.

Now, my question is not /how/ to do this/  Nor is it can you do it[as I know
you can].

What I want to know is it it being done in a standardized format.  Can a
database definition file generated by Doctrine then be taken and used by
Andromeda, and vice versa.  Are they following a set of standards, or are
they making it up as they go along.  And what other languages have libraries
to do the same[the ability to take have a database engineer really design
the database at a high level and store that definition in a YAML file, which
both a Ruby and PHP programmer could then take and generate all their
classes to access the data so they are following the same rules and such is
extremely powerful.  But are we there?]


>
> Are you really asking if you should use Access, since it is so widely used?
>

Nope, I don't use Access.  My father does, he is quite happy with it because
it fits HIS niche.  His niche is non-web enabled individuals, sitting in
little offices in midstate NY with no internet conenctions, who just need
glorified spreadsheets with a user friendly front end.

He also uses Lotus Notes and DB2 and I think a very old copy of Erwin....
 He uses the tools he has, and they fit his needs so there is no reason to
learn new ones in his 'retirement'[retirement....HA, he invents work for
himself...like the aforementioned Cemetery application he built from scratch
since they were using the "piles of paper" method of tracking plots.....
of course, the fact that this gets him in good graces with the owners, on
the board, and when my brother died he was able to not only quickly purchase
2 plots in his section....he was able to convince them that if they leveled
out the slight hill behind his plots and my brother and sister in law's new
plots, they could create another half dozen plots behind them for the rest
of his kids and grandchildren... :-)]

But the idea that if he stores definitions in YAML programmers can use them
interested him enough to learn something new....so now I want to find what
the standards for defining database structure in YAML is...or if there are
none, then I need to find that out to let him know.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nyphp.org/pipermail/talk/attachments/20100210/7ef7be3e/attachment.html>


More information about the talk mailing list