使用Yii2迁移创建表时出错

时间:2017-01-20 13:19:45

标签: yii2 yii2-basic-app

我对yii2很新,我正在使用 postgres ,我的db.php文件是 -

return [
       'class' => 'yii\db\Connection',
       'dsn' => 'pgsql:host=localhost;port=5432;dbname=xxxx',
       'username' => 'postgres',
       'password' => 'abc',
       'charset' => 'utf8',
];

我直接在postgres中创建了一个表,并使用ActiveRecord成功获取了数据。 然后,我使用

迁移创建了一个表
./yii migrate/create logins

在迁移文件夹中成功创建了一个文件,然后我将以下内容放在up方法 -

public function up()
{
    $this->createTable('logins', [
            'id' => Schema::TYPE_PK,
            'name' => Schema::TYPE_STRING . ' NOT NULL',
            'password' => Schema::TYPE_STRING . ' NOT NULL'
    ]);
}

并解雇./yii migrate来更新数据库,但我收到了以下错误 -

Yii Migration Tool (based on Yii v2.0.10)
Exception 'yii\db\Exception' with message 'could not find driver'
in /opt/lampp/htdocs/project/server/api/project/vendor/yiisoft/yii2/db/Connection.php:549

我有什么步骤吗?或者postgres连接有问题吗?

1 个答案:

答案 0 :(得分:2)

我认为这是基本模板。

确保您已配置db个组件。

config/console.php文件中,检查db部分中是否有components个键,如:

// ...
'components' => [
    // ...
    'db' => require(__DIR__ . '/db.php'),
    // ...
],

如果一切正常,但仍然存在错误,您需要检查是否已正确安装pgsql驱动程序。

有关详细信息,请参阅PDO Installation