首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YII找不到表

问YII找不到表
EN

Stack Overflow用户
提问于 2013-03-02 14:21:56
回答 1查看 980关注 0票数 1

我正在使用WAMP-MYSQL数据库在Yii中工作。我创建了如下表格-

代码语言:javascript
复制
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;

当我测试项目here时,它给出了这个错误:

“在数据库中找不到活动记录类"country”的表"country“,尽管此表存在于数据库中。”对于每个控制器,我都会得到这个错误。下面是我的配置文件:

代码语言:javascript
复制
<?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 as-

代码语言:javascript
复制
<?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',
    ),
);

那么,有没有人能指导我需要做些什么改变呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-03 17:38:18

你说你用的是MySQL。因此,配置中的sqlite行将不会出现。假设这些表是在您的MySql数据库中实际创建的(我猜您可以在MySQL工作台或PHPMyAdmin中看到它们):

  • 删除此行
  • 重新运行模型/ CRUD /任何生成。

如果您的连接字符串和参数都正常,那么它应该可以工作。

如果没有,请随意复制相关的错误日志: Yii,MySql和Apache的日志可以包含有用的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15171474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档