NYCPHP Meetup

[nycphp-talk] ORM that uses more advanced MySQL features

Guilherme Blanco guilhermeblanco at gmail.com
Tue Apr 28 14:16:39 EDT 2009


Specially for people like you, Doctrine provide a couple of CLI tasks
that can do a lot of things.

For example... you can define your models into an YAML file, and simply call:

php ./doctrine.php generate-models-yaml

It'll generate all models based on the YAML schema.
Then, simply do:

php ./doctrine.php generate-sql

And you'll have an optimized SQL file in the specified folder... or,
if you want to automatically apply the SQLs in DB...

php ./doctrine.php build-all-reload

This task will create models from YAML, execute the SQLs in DB and
also import any basic import data that is defined through fixtures. To
import only the fixtures:

php ./doctrine.php load-data


There're some people that already have some legacy code (like you) and
wants to migrate to Doctrine. The CLI command of Doctrine provide one
specific command to grab everything from your DB and generate the
models automatically.

php ./doctrine.php generate-models-db

The only issue with this command is the relations between each table,
which cannot be built automatically, since the DESC TABLE XXX may
different between all supported DBMS, aswell in the same DBMS, each
version may be different. We could not make it be built automatically.


Currently Doctrine is in version 1.1.0, we're about to release 1.1.1.
Also we'll release 1.0.9, which is our LTS (Long Term/Time Support)
version.

Manual is full of details about CLI tasks... to configure the CLI task
is quite trivial... a 15 lines scripts and you have all the power of
Doctrine at the palm of your hands.


BTW... I'm one of the core developers of Doctrine if you didn't notice! =D


Cheers,

On Tue, Apr 28, 2009 at 2:42 PM,  <y2rob at aol.com> wrote:
> i've heard about doctrine and i am not working with it, and i love and hate
> it.  i think once you spend the time to set it up (minus certain quirks with
> doctrine migrations),  it will do a pretty decent job, but if you have a
> large (and i mean large) database, you'll can spend a good amount of time
> creating your models before you start doing actual php coding.
>
> the point being, is if i were to start a project and if i deemed it worthy
> to use doctrine as the model in an mvc style project, then it's great (esp
> for migrations), but if i had an existing huge database and you wanted to
> refactor the project and wanted minimal development time with great results,
> i would lean more towards using a framework like codeigniter.  minimal model
> defining and rapid development with fairly great retrieval of data, and
> method chaining.
>
> it all depends on the situation
>
> ~rob
> ps - sorry for going on the tangent
>
> -----Original Message-----
> From: Guilherme Blanco <guilhermeblanco at gmail.com>
> To: NYPHP Talk <talk at lists.nyphp.org>
> Sent: Tue, 28 Apr 2009 12:46 pm
> Subject: Re: [nycphp-talk] ORM that uses more advanced MySQL features
>
> Doctrine_View is able to handle views in any DBMS.
>
> Also, you can manually map the view if you want to work on updatable
> views, just like Oracle supports.
>
> Stored procedures works on the fly, just like a common function call.
> Doctrine does something like that:
> In case DQL can interpret it, apply the custom workarounds, otherwise,
> just bypass it to DBMS driver.
>
> If not enough, you can use Doctrine_RawSql to create your custom DBMS
> specific call, when DQL is not smart enough to handle the query
> (something like UNIONS or SELECT of a selected query table: SELECT *
> FROM (SELECT ...))
>
> If you need more guidance on it, feel free to subscribe to
> doctrine-user or doctrine-dev mailing lists.
> We also have IRC channel at freenode #doctrine and a forum in the website.
>
> Finally... manual have been updated a lot recently. We're releasing a
> printed version in the next couple of weeks.
>
>
> Cheers,
>
> On Tue, Apr 28, 2009 at 1:37 PM, Marcelo Araujo
> <marcelosaraujo at gmail.com> wrote:
>> Since when, Guilherme?
>>
>> On Tue, Apr 28, 2009 at 1:31 PM, Guilherme Blanco
>> <guilhermeblanco at gmail.com> wrote:
>>> www.doctrine-project.org
>>>
>>> =)
>>>
>>> On Tue, Apr 28, 2009 at 1:08 PM, Ajai Khattri <ajai@ bitblit.net> wrote:
>>>>
>>>> Does anyone know of an ORM that can use views and stored procedures in
>>>> MySQL?
>>> --
>>> Guilherme Blanco - Web Developer
>>> CBC - Certified Bindows Consultant
>>> Cell Phone: +55 (16) 9215-8480
>>> MSN: guilhermeblanco at hotmail.com
>>> URL: http://blog.bisna.com
>>> São Paulo - SP/Brazil
>>> _______________________________________________
>>> New York PHP User Group Community Talk Mailing List
>>> http://lists.nyphp.org/mailman/listinfo/talk
>>>
>>> http://www.nyphp.org/show_participation.php
>>
>>
>>
>> --
>> Marcelo Araujo
>> Zend Certified Engineer
>> http://www.crosi.com.br
>> +55 34 9144 1472
>> _______________________________________________
>> New York PHP User Group Community Talk Mailing List
>> http://lists.nyphp.org/mailman/listinfo/talk
>>
>> http://www.nyphp.org/show_participation.php
>>
>
>
>
> --
> Guilherme Blanco - Web Developer
> CBC - Certified Bindows Consultant
> Cell Phone: +55 (16) 9215-8480
> MSN: guilhermeb lanco at hotmail.com
> URL: http://blog.bisna.com
> São Paulo - SP/Brazil
> _______________________________________________
> New York PHP User Group Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> http://www.nyphp.org/show_participation.php
>
> ________________________________
> A Good Credit Score is 700 or Above. See yours in just 2 easy steps!
> _______________________________________________
> New York PHP User Group Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> http://www.nyphp.org/show_participation.php
>



-- 
Guilherme Blanco - Web Developer
CBC - Certified Bindows Consultant
Cell Phone: +55 (16) 9215-8480
MSN: guilhermeblanco at hotmail.com
URL: http://blog.bisna.com
São Paulo - SP/Brazil



More information about the talk mailing list