Php Yii2迁移问题
我第一次使用yii2,我想尝试yii迁移。 问题是: 我创建了迁移文件Php Yii2迁移问题,php,migration,yii2,Php,Migration,Yii2,我第一次使用yii2,我想尝试yii迁移。 问题是: 我创建了迁移文件 php yii迁移/创建新表 文件已创建。然后,我将新表的详细信息输入到迁移文件中。 当我运行php时,我会迁移 我出错了 异常“ReflectionException”,消息为“Class db不存在” 在/var/www/yii2.uz/vendor/yiisoft/yii2/di/Container.php中:415 有什么问题吗 myconsole/config/main.php: <?php $param
php yii迁移/创建新表
文件已创建。然后,我将新表的详细信息输入到迁移文件中。
当我运行php时,我会迁移
我出错了
异常“ReflectionException”,消息为“Class db不存在”
在/var/www/yii2.uz/vendor/yiisoft/yii2/di/Container.php中:415
有什么问题吗
myconsole/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,
];
控制台的DB组件设置丢失,请将其添加到本地开发的console/config/main local.php文件中:
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=dbname',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
],
],
对于生产服务器,请根据db设置更正此文件
请注意,-local
文件位于.gitignore
列表中。如果您使用的是高级应用程序,则应将以下代码放入环境/dev/common/main local.php
中,以声明应用程序中的db
组件:
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=dbname',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
],
],
如果希望将配置实际应用于高级模板中的应用程序,则应运行/yii init
或php yii init
命令
如果您使用的是基本应用程序,那么应该直接将其放入common/main local.php
重要的是将其置于“公用”下,而不仅仅是控制台,因为您可能会使用来自控制台和web应用程序的同一数据库。请添加创建的迁移内容和控制台配置。@Faradox检查您是否已正确编写了所有参数。
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=dbname',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
],
],