Far*_*dox 4 php migration yii2
我第一次使用 yii2,我想尝试 yii 迁移。问题:我创建了迁移文件
php yii migrate/create new_table
文件被创建。然后我将新表的详细信息输入到迁移文件中。当我运行时php yii migrate
出现错误
Exception 'ReflectionException' with message 'Class db does not exist'
有什么问题?
in /var/www/yii2.uz/vendor/yiisoft/yii2/di/Container.php:415
我的console/config/main.php:
<?php
$params = array_merge(
require(__DIR__ . '/../../common/config/params.php'),
require(__DIR__ . '/../../common/config/params-local.php'),
require(__DIR__ . '/../../common/config/main-local.php'),
require(__DIR__ . '/params.php'),
require(__DIR__ . '/params-local.php')
);
return [
'id' => 'app-console',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'controllerNamespace' => 'console\controllers',
'components' => [
'log' => [
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
],
'params' => $params,
];
Run Code Online (Sandbox Code Playgroud)
和我的迁移文件:
<?php use yii\db\Schema;
use yii\db\Migration;
class m150727_125205_new_table extends Migration
{
public function up()
{
$this->createTable('test',[
'id'=> Schema::TYPE_PK,
'name'=> Schema::TYPE_STRING
]);
}
public function down()
{
echo "m150727_125205_new_table cannot be reverted.\n";
return false;
}
Run Code Online (Sandbox Code Playgroud)
缺少控制台的 DB 组件设置,将此添加到console/config/main-local.php文件以进行本地开发:
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=dbname',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
],
],
Run Code Online (Sandbox Code Playgroud)
对于生产服务器,根据数据库设置更正此文件。
请注意,-local文件在.gitignore列表中。
| 归档时间: |
|
| 查看次数: |
4416 次 |
| 最近记录: |