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

Reply via email to