2016-10-12 13 views
0

ich erstellte yii2 Projekt. Wenn ich yii commant migrieren Typ zeigt es Fehler folgende:
Exception 'Reflection' mit der Meldung 'Klasse db existiert nicht'yii Migration funktioniert nicht in yii2

in C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
i\Container.php:422               

Stack trace:                 
#0 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
i\Container.php(422): ReflectionClass->__construct('db')      
#1 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
i\Container.php(362): yii\di\Container->getDependencies('db')    
#2 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
i\Container.php(154): yii\di\Container->build('db', Array, Array)   
#3 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
i\Instance.php(157): yii\di\Container->get('db')        
#4 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
i\Instance.php(131): yii\di\Instance->get(NULL)        
#5 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
onsole\controllers\MigrateController.php(152): yii\di\Instance::ensure('db', 
yii\\db\\Connecti...')              
#6 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
ase\Controller.php(152): yii\console\controllers\MigrateController->beforeAc 
on(Object(yii\base\InlineAction))           
#7 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
onsole\Controller.php(119): yii\base\Controller->runAction('', Array)  
#8 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
ase\Module.php(454): yii\console\Controller->runAction('', Array)   
#9 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii2 
onsole\Application.php(180): yii\base\Module->runAction('migrate', Array) 
#10 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii 
console\Application.php(147): yii\console\Application->runAction('migrate', 
ray)                   
#11 C:\OpenServer\domains\chamber_development\yii2chamber\vendor\yiisoft\yii 
base\Application.php(375): yii\console\Application->handleRequest(Object(yii 
onsole\Request))                
#12 C:\OpenServer\domains\chamber_development\yii2chamber\yii(27): yii\base\ 
plication->run()                
#13 {main}                 

c:\OpenServer\domains\chamber_development\yii2chamber>      

Bitte, hilf mir

Antwort

1

Yii2 migration

DB Komponente Setup für console fehlt, fügen Sie dies zur Datei console/config/main-local.php für die lokale Entwicklung hinzu:

'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=dbname', 'username' => 'username', 'password' => 'password', 'charset' => 'utf8', ], ],

Für den Produktionsserver korrigieren Sie diese Datei entsprechend den db-Einstellungen.

Beachten Sie, dass -local Dateien in .gitignore Liste sind.

+0

Hallo, Ich habe separate db.php-Datei erstellt, die den gleichen Code wie oben angegeben enthält. – Rustam

+0

' [ 'db'=> [ 'class'=> 'yii \ db \ Connection', 'dsn'=>' mysql: host = localhost; dbname = yii2advanced ' 'username'=> 'root', 'password'=> '', 'charset'=> 'utf8', ], ], ];' – Rustam

+0

Wie, kann ich es mit common/config/main-local.php Datei verbinden \ – Rustam