@david

The reason we use these views is because we need Subqueries and
Aggregate functions in our views for use in a sfGrid
DatasourceDoctrine.
Looking a bit at your YML snippet, poses a question:
Does you solution provide a way to use subqueries and aggregate
functions?

-Alex

On Oct 9, 11:14 am, E_lexy <alexk...@gmail.com> wrote:
> @david I am also interested in your solution.
>
> My 2 cents:
>
> At the moment we are working with views by letting Doctrine create
> tables from the VIEW model classes, and the overwriting them with an
> SQL to create the actual views.
>
> I have managed to keep the relations (FK) out of the the DB by
> specifying:
> public function setUp()
>   {
>     parent::setUp();
>
>     $this->setAttribute(Doctrine::ATTR_EXPORT, DOCTRINE::EXPORT_NONE);
>
>     $this->hasOne('UserView', array(
>         'local' => 'user_id',
>         'foreign' => 'user_id',
>     ));
>
> }
>
> Otherwise the DB would create FKs to empty tables, that will cause
> errors in loading fixtures (for testing etc).
>
> I have not managed to keep entire VIEW model classes out of the DB by
> specifying ithe EXPORT_NONE property in this way.
>
> On Oct 8, 11:49 pm, david <da...@inspiredthinking.co.uk> wrote:
>
> > I'll see about extracting the code in the next few days and drop a mail  
> > when it's done.
>
> > On Thu, 08 Oct 2009 22:09:45 +0200, ridcully <ohnhei...@googlemail.com>  
> > wrote:
>
> > > Is the view behavior writen by our own? Or can I found this behavior
> > > somewhere?
>
> > > Thanx you alot,
> > > Jörg
>
> > > On Oct 8, 5:37 pm, david <da...@inspiredthinking.co.uk> wrote:
> > >> Reverse engineering from an existing DB is just a quick way of  
> > >> bootstrapping the start of a project.
>
> > >> Doctrine doesn't handle views very well - although it is aware of them.
>
> > >> Working around this problem when creating some new Doctrine drivers for  
> > >>  CouchDB & RDF I've used view behaviours and then annotate the schema  
> > >> to  get a clean implementation.
> > >> The behaviour handles the view creation and the model gets generated  
> > >> accordingly referencing/overloading the referenced base table and  
> > >> importing the appropriate keys.
>
> > >> The yml looks like:
>
> > >> locationsInEurope:
> > >>    tableName: locationsInEurope
> > >>    actAs:
> > >>      hasViews:
> > >>        references: Locations
> > >>    columns:
> > >>      country_id:
> > >>        type: integer(4)
> > >>      region_id:
> > >>        type: integer(4)
> > >>      city_id:
> > >>        type: integer(4)
> > >>      district_id:
> > >>        type: integer(4)
>
> > >> Regarding data dumps - the doctrine:data-dump task is a better way of  
> > >> handling extracting and reloading the db.
>
> > >> On Thu, 08 Oct 2009 11:58:51 +0200, ridcully <ohnhei...@googlemail.com>  
> > >>  wrote:
>
> > >> > Hi John,
>
> > >> > the Problem is when you doing the views this way is, you don't have a
> > >> > clean
> > >> > deployment anymore  then we can't use symfony build-all-reload-test
> > >> > for the dev. Team.
> > >> > I must use SQL-Dumps and I think this is not the right way, because
> > >> > you
> > >> > can't change the Model quick and easy.
>
> > >> > There must be a better way to do this, because we need a the mostly
> > >> > clean Deployment without SQL-Dumps.
>
> > >> > Many thanks for your answer,
> > >> > Jörg
>
> > >> > On Oct 8, 11:47 am, John Masson <jmas...@gmail.com> wrote:
> > >> >> Hi,
>
> > >> >> We were discussing this at work yesterday. One of the guys came up
> > >> >> with the same solution and it sounds quite reasonable.
>
> > >> >> Out of interest we reverse engineered a schema.yml from a DB that had
> > >> >> a view in it just to see what would happen. Symfony includes the view
> > >> >> in the schema.yml file just like it was a regular table, but there  
> > >> was
> > >> >> nothing to identify it as a view rather than a table that I could  
> > >> see,
> > >> >> so presumably if we forward engineered the database from this
> > >> >> schema.yml it would have created a table not a view (should have done
> > >> >> that just to confirm I guess)
>
> > >> >> My recommendation would be to create your DB as you want it, then
> > >> >> reverse engineer your schema.yml with a ./symfony doctrine:build-
> > >> >> schema then build-model, forms, filters etc... Just saves you  
> > >> dropping
> > >> >> the tables and recreating the views which you'd have to do if you  
> > >> work
> > >> >> in the opposite direction (although it's not such a big deal I  
> > >> guess).
>
> > >> >> John
>
> > >> >> On Oct 7, 7:48 pm, ridcully <ohnhei...@googlemail.com> wrote:
>
> > >> >> > Hi,
>
> > >> >> > how can I use Database Views in Symfony with Doctrine? I need them
> > >> >> > because of performance reasons.
>
> > >> >> > My Idee was to create dummys in the model and after building the  
> > >> Model
> > >> >> > to drop the dummy tabels and create SQL Views.
>
> > >> >> > Is there a better way to do this?
>
> > >> --
> > >> Using Opera's revolutionary e-mail client:http://www.opera.com/mail/
>
> > --
> > Using Opera's revolutionary e-mail client:http://www.opera.com/mail/
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to 
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to