Browse Source

Added to the basic app, fixed config, added to core commands.

tags/2.0.0-beta
Mark 11 years ago
parent
commit
ccfb7638d0
  1. 14
      apps/basic/config/console.php
  2. 0
      apps/basic/tests/unit/fixtures/.gitkeep
  3. 0
      apps/basic/tests/unit/templates/fixtures/.gitkeep
  4. 1
      framework/yii/console/Application.php
  5. 25
      framework/yii/console/controllers/FixtureController.php

14
apps/basic/config/console.php

@ -1,4 +1,7 @@
<?php <?php
Yii::setAlias('tests', __DIR__ . '/../tests');
$params = require(__DIR__ . '/params.php'); $params = require(__DIR__ . '/params.php');
return [ return [
'id' => 'basic-console', 'id' => 'basic-console',
@ -19,6 +22,17 @@ return [
], ],
], ],
], ],
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii2basic',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
'fixture' => [
'class' => 'yii\test\DbFixtureManager',
'basePath' => '@tests/unit/fixtures',
],
], ],
'params' => $params, 'params' => $params,
]; ];

0
apps/basic/tests/unit/fixtures/.gitkeep

0
apps/basic/tests/unit/templates/fixtures/.gitkeep

1
framework/yii/console/Application.php

@ -146,6 +146,7 @@ class Application extends \yii\base\Application
'migrate' => 'yii\console\controllers\MigrateController', 'migrate' => 'yii\console\controllers\MigrateController',
'cache' => 'yii\console\controllers\CacheController', 'cache' => 'yii\console\controllers\CacheController',
'asset' => 'yii\console\controllers\AssetController', 'asset' => 'yii\console\controllers\AssetController',
'fixture' => 'yii\console\controllers\FixtureController',
]; ];
} }

25
framework/yii/console/controllers/FixtureController.php

@ -103,11 +103,18 @@ class FixtureController extends Controller
* you can specify table name as a second parameter. * you can specify table name as a second parameter.
* @param string $fixture * @param string $fixture
*/ */
public function actionApply($fixture) public function actionApply(array $fixture)
{ {
if ($this->getFixtureManager() == null) {
throw new Exception(
'Fixture manager is not configured properly. '
. 'Please refer to official documentation for this purposes.');
}
$this->getFixtureManager()->basePath = $this->fixturePath; $this->getFixtureManager()->basePath = $this->fixturePath;
$this->getFixtureManager()->db = $this->db; $this->getFixtureManager()->db = $this->db;
$this->loadFixtures([$fixture]); $this->loadFixtures($fixture);
$this->notifySuccess($fixture);
} }
/** /**
@ -150,4 +157,18 @@ class FixtureController extends Controller
return $db; return $db;
} }
/**
* Notifies user that fixtures were successfully loaded.
* @param array $fixtures
*/
private function notifySuccess($fixtures)
{
$this->stdout("Fixtures were successfully loaded from path: \n", Console::FG_YELLOW);
$this->stdout(realpath(Yii::getAlias($this->fixturePath)) . "\n\n", Console::FG_GREEN);
foreach($fixtures as $index => $fixture) {
$this->stdout($index +1 . ". " . $fixture . "\n", Console::FG_GREEN);
}
}
} }

Loading…
Cancel
Save