Re: Re: [PEPr] Comment on Tools and Utilities::DbDeploy
| From: | Igor Feghali | Date: | Tue, 18 Sep 2007 21:25:28 +0000 |
| Subject: | Re: Re: [PEPr] Comment on Tools and Utilities::DbDeploy | ||
| References: | 1 2 3 4 5 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-48067@lists.php.net to get a copy of this message | ||
Just to clarify things up...
On 9/17/07, Luke Crouch <luke.crouch@gmail.com> wrote:
> * Change/Refactoring/Versioning focus - as I understand it, MDB2_Schema is,
> obviously, schema-centric. i.e., it's based on the established state of
> entities and data, rather than the changes that have occurred against the
> schema.
Yes, it is schema-centric but it is capable of detect schema changes
so the necessary patch can be automatically applied when upgrading /
rolling back a database.
> * No XML - I'm not *against* XML, but many developers are simply more
> comfortable reading (and performing) db changes in SQL rather than XML.
MDB2_Schema use XML files for portability reasons. You don't have to
worry about writing XML at all. You can work on your database as you
normally would and at some point dump it to XML. you can later dump a
new schema and it can be used to update other databases that are still
have the old schema. you don't need to point the steps you take to
upgrade, it should be detected automatically by looking for
differences in the current schema and the new schema.
> * No MDB2 dependency - in fact, no DB abstraction at all. this can be both
> positive and negative - positive in the sense that if you are working on a
> project in which you have full control over the DB platform (as is the case
> in many website projects), you can directly use platform-specific SQL
> dialect and features in your db schema changes.
DB abstraction is good because you never know what tools are available
in the next server you are going to work with. again, portability ;)
> * command-line interface - this package installs a command-line tool for
> performing its operations, while MDB2_Schema appears aimed at usage from
> inside PHP script files. (though they could just as easily be run from CLI)
as Christian said before, hopefully this will be implemented soon.
I am by no means saying that your application should be dropped. The
opposite, it seems a great work and I encourage you to go ahead ;)