1

私はWAMP-MYSQLデータベースを使用してYiiで作業しています。私は次のようにテーブルを作成しました-

CREATE  TABLE IF NOT EXISTS `balaee_dev`.`country` (
  `countryId` INT(11) NOT NULL AUTO_INCREMENT ,
  `country` VARCHAR(45) NULL DEFAULT NULL ,
  PRIMARY KEY (`countryId`) ,
  UNIQUE INDEX `country_UNIQUE` (`country` ASC) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

ここでプロジェクトをテストすると、次のエラーが発生します。

「アクティブレコードクラス「country」のテーブル「country」がデータベースに見つかりません」。このテーブルはデータベースに存在します。すべてのコントローラーでこのエラーが発生します。これが私の設定ファイルです:

<?php

// This is the configuration for yiic console application.
// Any writable CConsoleApplication properties can be configured here.
return array(
    'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
    'name'=>'My Console Application',
    // application components
    'components'=>array(
        'db'=>array(
            'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
        ),
        // uncomment the following to use a MySQL database

        'db'=>array(
            'connectionString' => 'mysql:host=localhost;dbname=balaee_dev',
            'emulatePrepare' => true,
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ),

    ),
);

そして私はmain.phpを持っています-

<?php

// uncomment the following to define a path alias
// Yii::setPathOfAlias('local','path/to/local-folder');

// This is the main Web application configuration. Any writable
// CWebApplication properties can be configured here.
return array(
    'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
    'name'=>'My Balaee Application',
    // preloading 'log' component
    'preload'=>array('log'),
    // autoloading model and component classes
    'import'=>array(
        'application.models.*',
        'application.components.*',
        'application.modules.KnowledgePortal.*',
        'application.modules.QuestionBank.*',
        //'application.modules.UserAuthentication.*',
        'application.plugins.*',
            'application.extensions.noaaWeather.*',

    ),
    'modules'=>array(
        //Question Bank Module
        'QuestionBank'=>array(),
        //Social Networking Module
        'SocialNetworking'=>array(),
        //Knowledge Portal Module
        'KnowledgePortal'=>array(),
        // uncomment the following to enable the Gii tool
        'gii'=>array(
            'class'=>'system.gii.GiiModule',
            'password'=>'root',
            // If removed, Gii defaults to localhost only. Edit carefully to taste.
            'ipFilters'=>array('127.0.0.1','::1'),
            //'ipFilters'=>array('204.93.172.30'),
        ),
    ),
    // application components
    'components'=>array(
        'user'=>array(
            // enable cookie-based authentication
            'allowAutoLogin'=>true,
        ),

        'mailer' => array(
                'class' => 'application.extensions.mailer.EMailer',
                'pathViews' => 'application.views.email',
                'pathLayouts' => 'application.views.email.layouts'
        ),
        'curl'=>array(
        'class' => 'application.extensions.curl.Curl',
        ),
        'params'=>array(
        'noaaWeather.cachePath' => 'protected/extensions/noaaWeather/cache'
        ),

        // uncomment the following to enable URLs in path-format
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ),
        ),
/*
        'db'=>array(
            'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
        ),
*/

    'db'=>array(
            //'connectionString' => 'mysql:host=localhost;dbname=balaee_dev',
            'connectionString' => 'mysql:host=204.93.172.30;dbname:shailani_balaee_dev',
            //'emulatePrepare' => true,
            'username' => 'shailani_bdev',
            'password' => 'nTRXpfuH8wmjx5hV',
            'charset' => 'utf8',
        ),      
        // uncomment the following to use a MySQL database

        'db'=>array(
            'connectionString' => 'mysql:host=localhost;dbname=balaee_dev',
            'emulatePrepare' => true,
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ),

        'errorHandler'=>array(
            // use 'site/error' action to display errors
            'errorAction'=>'site/error',
        ),
        'log'=>array(
            'class'=>'CLogRouter',
            'routes'=>array(
                array(
                    'class'=>'CFileLogRoute',
                    'levels'=>'error, warning',
                ),
                // uncomment the following to show log messages on web pages
                /*
                array(
                    'class'=>'CWebLogRoute',
                ),
                */
            ),
        ),
    ),

    // application-level parameters that can be accessed
    // using Yii::app()->params['paramName']
    'params'=>array(
        // this is used in contact page
        'adminEmail'=>'webmaster@example.com',
    ),
);

では、誰かが私にどのような変更を加える必要があるかを教えてもらえますか?

4

1 に答える 1

1

MySQL を使用しているとのことです。したがって、構成の sqlite 行は表示されません。テーブルが実際に MySql データベースに作成されている場合 (MySQL Workbench または PHPMyAdmin で確認できると思います):

  • この行を削除
  • モデル/CRUD/世代を問わず再実行します。

接続文字列とパラメータに問題がなければ、動作するはずです。

そうでない場合は、関連するエラー ログをここに自由にコピーしてください。Yii、MySql、および Apache のログには有用な情報が含まれている可能性があります。

于 2013-03-03T09:38:17.507 に答える