Yes it is possible to use multiple databases in an application written with CakePHP.
I want to see the tables in your database use http://bin.cakephp.org/add/Yves and paste the tables from your cake_posts database. Send the url to the paste in a reply to this thread. You either do not have cake_posts.posts table or you named it wrong. There are settings you can put in your model if your table is not following conventions, this is covered in the book. -- Larry E. Masters On Fri, Sep 30, 2011 at 9:46 AM, Yves S. Garret <[email protected]>wrote: > Does anyone know if it's possible to use multiple databases in the same > project in CakePHP? We would like to move to CakePHP, but many of our apps > fall into a similar category. Has anyone tried this before? > > On Thu, Sep 29, 2011 at 3:37 PM, Fabio Batista Araujo < > [email protected]> wrote: > >> Yves, >> >> The *cake_posts* is your MySql database and what is missing, accordingly >> the error response, is the *table* posts for the model Post. >> >> To fix it, create the table *posts* inside *cake_posts* database. >> >> If it is not the case, you have to be sure that you application is >> running the correct database configuration, $cake_posts instead $default. >> >> The simpler way to fix it is doing: >> >> var $default = array( >> 'driver' => 'mysqli', >> 'persistent' => false, >> 'host' => 'localhost', >> 'login' => 'root', >> 'password' => 'summer11', >> 'database' => 'cake_posts', >> 'prefix' => '', >> //'encoding' => 'utf8', >> ); >> >> For additional help, take a look at : >> http://book.cakephp.org/view/922/Database-Configuration >> >> "*The $default connection array is used unless another connection is >> specified by the $useDbConfig property in a model. For example, if my >> application has an additional legacy database in addition to the default >> one, I could use it in my models by creating a new $legacy database >> connection array similar to the $default array, and by setting var >> $useDbConfig = ‘legacy’; in the appropriate models."* >> >> Hope it helped you, >> Fábio >> >> >> 2011/9/29 Yves S. Garret <[email protected]> >> >>> Yes. I called the database cake_posts. Do I set something up so that it >>> points to that specific db? >>> >>> >>> 2011/9/29 Vinícius Moraes de Araújo <[email protected]> >>> >>>> You have the table posts created on your database ? >>>> >>>> Atenciosamente, >>>> >>>> Vinícius Moraes >>>> >>>> >>>> 2011/9/29 Yves S. Garret <[email protected]> >>>> >>>>> By the way, this is my database.php file: >>>>> >>>>> <?php >>>>> /** >>>>> * This is core configuration file. >>>>> * >>>>> * Use it to configure core behaviour ofCake. >>>>> * >>>>> * PHP versions 4 and 5 >>>>> * >>>>> * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) >>>>> * Copyright 2005-2011, Cake Software Foundation, Inc. ( >>>>> http://cakefoundation.org) >>>>> * >>>>> * Licensed under The MIT License >>>>> * Redistributions of files must retain the above copyright notice. >>>>> * >>>>> * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. ( >>>>> http://cakefoundation.org) >>>>> * @link http://cakephp.org CakePHP(tm) Project >>>>> * @package cake >>>>> * @subpackage cake.app.config >>>>> * @since CakePHP(tm) v 0.2.9 >>>>> * @license MIT License ( >>>>> http://www.opensource.org/licenses/mit-license.php) >>>>> */ >>>>> /** >>>>> * In this file you set up your database connection details. >>>>> * >>>>> * @package cake >>>>> * @subpackage cake.config >>>>> */ >>>>> /** >>>>> * Database configuration class. >>>>> * You can specify multiple configurations for production, development >>>>> and testing. >>>>> * >>>>> * driver => The name of a supported driver; valid options are as >>>>> follows: >>>>> * mysql - MySQL 4 & 5, >>>>> * mysqli - MySQL 4 & 5 Improved Interface (PHP5 only), >>>>> * sqlite - SQLite (PHP5 only), >>>>> * postgres - PostgreSQL 7 and higher, >>>>> * mssql - Microsoft SQL Server 2000 and higher, >>>>> * db2 - IBM DB2, Cloudscape, and Apache Derby ( >>>>> http://php.net/ibm-db2) >>>>> * oracle - Oracle 8 and higher >>>>> * firebird - Firebird/Interbase >>>>> * sybase - Sybase ASE >>>>> * adodb-[drivername] - ADOdb interface wrapper (see below), >>>>> * odbc - ODBC DBO driver >>>>> * >>>>> * You can add custom database drivers (or override existing drivers) >>>>> by adding the >>>>> * appropriate file to app/models/datasources/dbo. Drivers should be >>>>> named 'dbo_x.php', >>>>> * where 'x' is the name of the database. >>>>> * >>>>> * persistent => true / false >>>>> * Determines whether or not the database should use a persistent >>>>> connection >>>>> * >>>>> * connect => >>>>> * ADOdb set the connect to one of these >>>>> * (http://phplens.com/adodb/supported.databases.html) and >>>>> * append it '|p' for persistent connection. (mssql|p for example, >>>>> or just mssql for not persistent) >>>>> * For all other databases, this setting is deprecated. >>>>> * >>>>> * host => >>>>> * the host you connect to the database. To add a socket or port >>>>> number, use 'port' => # >>>>> * >>>>> * prefix => >>>>> * Uses the given prefix for all the tables in this database. This >>>>> setting can be overridden >>>>> * on a per-table basis with the Model::$tablePrefix property. >>>>> * >>>>> * schema => >>>>> * For Postgres and DB2, specifies which schema you would like to use >>>>> the tables in. Postgres defaults to >>>>> * 'public', DB2 defaults to empty. >>>>> * >>>>> * encoding => >>>>> * For MySQL, MySQLi, Postgres and DB2, specifies the character >>>>> encoding to use when connecting to the >>>>> * database. Uses database default. >>>>> * >>>>> */ >>>>> class DATABASE_CONFIG { >>>>> >>>>> var $default = array( >>>>> 'driver' => 'mysqli', >>>>> 'persistent' => false, >>>>> 'host' => 'localhost', >>>>> 'login' => 'root', >>>>> 'password' => 'summer11', >>>>> 'database' => 'mysql', >>>>> 'prefix' => '', >>>>> //'encoding' => 'utf8', >>>>> ); >>>>> >>>>> var $cake_posts = array( >>>>> 'driver' => 'mysqli', >>>>> 'persistent' => false, >>>>> 'host' => 'localhost', >>>>> 'login' => 'root', >>>>> 'password' => 'summer11', >>>>> 'database' => 'cake_posts', >>>>> 'prefix' => '', >>>>> //'encoding' => 'utf8', >>>>> ); >>>>> >>>>> var $doc_lookup = array( >>>>> 'driver' => 'mysqli', >>>>> 'persistent' => false, >>>>> 'host' => 'localhost', >>>>> 'login' => 'root', >>>>> 'password' => 'summer11', >>>>> 'database' => 'doc_lookup', >>>>> 'prefix' => '', >>>>> //'encoding' => 'utf8', >>>>> ); >>>>> >>>>> var $test = array( >>>>> 'driver' => 'mysql', >>>>> 'persistent' => false, >>>>> 'host' => 'localhost', >>>>> 'login' => 'user', >>>>> 'password' => 'password', >>>>> 'database' => 'test_database_name', >>>>> 'prefix' => '', >>>>> //'encoding' => 'utf8', >>>>> ); >>>>> } >>>>> >>>>> >>>>> ---------- Forwarded message ---------- >>>>> From: Yves S. Garret <[email protected]> >>>>> Date: Thu, Sep 29, 2011 at 2:02 PM >>>>> Subject: Can't locate the database? >>>>> To: [email protected] >>>>> >>>>> >>>>> I got to the following portion of the tutorial: >>>>> >>>>> http://book.cakephp.org/view/1538/Data-Validation >>>>> >>>>> At the very end of the tutorial I have the impression that I can >>>>> proceed to view at least some fruits of my labor. However, when I went >>>>> to: >>>>> >>>>> http://localhost/cakery/posts/index >>>>> >>>>> Cakery being where Cake resides, I get the following error... why? >>>>> >>>>> Missing Database Table >>>>> >>>>> *Error: *Database table *posts* for model *Post* was not found. >>>>> >>>>> *Notice: *If you want to customize this error message, create >>>>> app\views\errors\missing_table.ctp >>>>> >>>>> -- >>>>> Our newest site for the community: CakePHP Video Tutorials >>>>> http://tv.cakephp.org >>>>> Check out the new CakePHP Questions site http://ask.cakephp.org and >>>>> help others with their CakePHP related questions. >>>>> >>>>> >>>>> To unsubscribe from this group, send email to >>>>> [email protected] For more options, visit this >>>>> group at http://groups.google.com/group/cake-php >>>>> >>>> >>>> -- >>>> Our newest site for the community: CakePHP Video Tutorials >>>> http://tv.cakephp.org >>>> Check out the new CakePHP Questions site http://ask.cakephp.org and >>>> help others with their CakePHP related questions. >>>> >>>> >>>> To unsubscribe from this group, send email to >>>> [email protected] For more options, visit this >>>> group at http://groups.google.com/group/cake-php >>>> >>> >>> -- >>> Our newest site for the community: CakePHP Video Tutorials >>> http://tv.cakephp.org >>> Check out the new CakePHP Questions site http://ask.cakephp.org and help >>> others with their CakePHP related questions. >>> >>> >>> To unsubscribe from this group, send email to >>> [email protected] For more options, visit this group >>> at http://groups.google.com/group/cake-php >>> >> >> -- >> Our newest site for the community: CakePHP Video Tutorials >> http://tv.cakephp.org >> Check out the new CakePHP Questions site http://ask.cakephp.org and help >> others with their CakePHP related questions. >> >> >> To unsubscribe from this group, send email to >> [email protected] For more options, visit this group >> at http://groups.google.com/group/cake-php >> > > -- > Our newest site for the community: CakePHP Video Tutorials > http://tv.cakephp.org > Check out the new CakePHP Questions site http://ask.cakephp.org and help > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > [email protected] For more options, visit this group > at http://groups.google.com/group/cake-php > -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
