nate wrote:
> Yes and no.  Cake automatically loads up the correct driver as long as
> you tell it the type of database you're connecting to, but using
> Model::execute forces you to write queries by hand, which means, you'd
> have to do your database-specific translation manually.

Thanks Nate - this is what I gathered from digging into the Model and
DBO library code.

Another effect I've noticed by creating, and modifying the structure
of, tables on the fly in an application is that the DESC gets cached in
a couple places.

Here's what I've observed (via TestSuite):

1) Create table dynamically via Model::execute();
2) Using an empty Model subclass, $modelInstance->setSource(newTable)
3) Drop column of newTable via Model::execute
4) $modelInstance->_tableInfo = null; $modelInstance::loadInfo() - I
thought this would flush the DESC cache based on other posts in the
group.
5) $modelInstance->getColumnType($droppedColumnName) - still returns
the value of the dropped column type.

I then saw in datasource.php DESC caching takes place application-wide.

Is there a way to explicitly flush the a DESC cache for a particular
table? What's the difference between the Model::_tableInfo cache and
the DESC caching in datasource.php?

Thanks again for the help.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/cake-php
-~----------~----~----~----~------~----~------~--~---

Reply via email to