Yii Framework: Die Tabelle für die aktive Datensatzklasse wurde nicht in der Datenbank gefunden

Ich hoffe, der Hivemind hat weitere Vorschläge zum Umgang mit diesem Fehler von Yii Framework. Der genaue Fehler, der für unser Setup spezifisch ist, ist:

CDbException Die Tabelle "Benutzer" für die aktive Datensatzklasse "Benutzer" wurde in der Datenbank nicht gefunden.

Ich verwende Yii Framework 1.1.11-dev von SVN, obwohl dies nur ein Versuch war, das Problem zu beheben. Wir haben die neueste stabile Version 1.1.10 ausgeführt.

Wir versuchen, auf unserem Live-Server Code bereitzustellen, der in meiner Entwicklungsumgebung funktioniert. Ich glaube, das Problem ist mit ziemlicher Sicherheit ein Unterschied in der Datenbankkonfiguration, aber ich bin nicht sicher, wo ich es finden kann.

Ich habe bereits hier gesucht und die Yii-Foren durchsucht, in denen ich dieses Problem ein paar Mal aufgelistet habe. Vorgeschlagene Korrekturen, die wir bereits ausprobiert haben, umfassen

Entfernen des Hosts und des Ports vom dsnmit und ohne Schema für den Tabellennamen (dh "Benutzer" und "public.users")GRANT ALL ON DATABASE [Datenbankname] TO postgresGewähren Sie allen Tabellen in der Datenbank den gefundenen CodeHier

Die Umgebungen sind wie folgt:

DEV - OSX 10.7, PHP 5.3.10, PostgreSQL 9.0.3PROD - FC15, PHP 5.3.10, PostgreSQL 9.0.7

Der Fehler gibt an, dass die Tabelle "Benutzer" nicht vorhanden ist, obwohl dies ganz klar der Fall ist.

~$ psql -U postgres
psql (9.0.7)
Type "help" for help.

postgres=# \dt
                    List of relations
 Schema |             Name             | Type  |  Owner   
--------+------------------------------+-------+----------
  { ... removed for brevity ... }
 public | users                        | table | postgres

Unsere Konfiguration in protected / config / main.php

'db'=>array(
    'connectionString' => 'pgsql:dbname=lppsync',
    'emulatePrepare' => true,
    'username' => 'postgres',
    'password' => '',
),

Und der relevante Teil des Benutzermodells ist

class Users extends CActiveRecord
{
    /**
     * Returns the static model of the specified AR class.
     * @param string $className active record class name.
     * @return Users the static model class
     */
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    /**
     * @return string the associated database table name
     */
    public function tableName()
    {
        return 'users';
    }

Antworten auf die Frage(3)

Ihre Antwort auf die Frage