Friday, September 30, 2011

Re: Can't locate the database?

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 <yoursurrogategod@gmail.com> 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 <fbaraujo84@gmail.com> 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 <yoursurrogategod@gmail.com>
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 <vinizinmoraes@gmail.com>
You have the table posts created on your database ?

Atenciosamente,

Vinícius Moraes


2011/9/29 Yves S. Garret <yoursurrogategod@gmail.com>
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
 *    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 <yoursurrogategod@gmail.com>
Date: Thu, Sep 29, 2011 at 2:02 PM
Subject: Can't locate the database?
To: cake-php@googlegroups.com


I got to the following portion of the tutorial:



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:


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
cake-php+unsubscribe@googlegroups.com 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
cake-php+unsubscribe@googlegroups.com 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
cake-php+unsubscribe@googlegroups.com 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
cake-php+unsubscribe@googlegroups.com 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
cake-php+unsubscribe@googlegroups.com 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
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php

No comments: