Commit 3c70d3c3 by Alexander Makarov

Fixes #3305: `yii migrate` now automatically flushes DB schema cache after successful migration

parent eaf8ece5
...@@ -243,6 +243,7 @@ Yii Framework 2 Change Log ...@@ -243,6 +243,7 @@ Yii Framework 2 Change Log
- Enh #3283: Added `$checkAjax` to `yii\web\User::loginRequired()` (qiangxue) - Enh #3283: Added `$checkAjax` to `yii\web\User::loginRequired()` (qiangxue)
- Enh #3284: Added support for checking multiple ETags by `yii\filters\HttpCache` (qiangxue) - Enh #3284: Added support for checking multiple ETags by `yii\filters\HttpCache` (qiangxue)
- Enh #3298: Supported configuring `View::theme` using a class name (netyum, qiangxue) - Enh #3298: Supported configuring `View::theme` using a class name (netyum, qiangxue)
- Enh #3305: `yii migrate` now automatically flushes DB schema cache after successful migration (6pblcb, samdark)
- Enh #3328: `BaseMailer` generates better text body from html body (armab) - Enh #3328: `BaseMailer` generates better text body from html body (armab)
- Enh #3380: Allow `value` in `defaultValueValidator` to be a closure (Alex-Code) - Enh #3380: Allow `value` in `defaultValueValidator` to be a closure (Alex-Code)
- Enh #3384: Added callback-style transactions (leandrogehlen, Ragazzo, samdark) - Enh #3384: Added callback-style transactions (leandrogehlen, Ragazzo, samdark)
......
...@@ -490,6 +490,7 @@ abstract class BaseMigrateController extends Controller ...@@ -490,6 +490,7 @@ abstract class BaseMigrateController extends Controller
$this->addMigrationHistory($class); $this->addMigrationHistory($class);
$time = microtime(true) - $start; $time = microtime(true) - $start;
echo "*** applied $class (time: " . sprintf("%.3f", $time) . "s)\n\n"; echo "*** applied $class (time: " . sprintf("%.3f", $time) . "s)\n\n";
$this->refreshSchema();
return true; return true;
} else { } else {
...@@ -519,6 +520,7 @@ abstract class BaseMigrateController extends Controller ...@@ -519,6 +520,7 @@ abstract class BaseMigrateController extends Controller
$time = microtime(true) - $start; $time = microtime(true) - $start;
echo "*** reverted $class (time: " . sprintf("%.3f", $time) . "s)\n\n"; echo "*** reverted $class (time: " . sprintf("%.3f", $time) . "s)\n\n";
return true; return true;
} else { } else {
$time = microtime(true) - $start; $time = microtime(true) - $start;
...@@ -623,6 +625,16 @@ abstract class BaseMigrateController extends Controller ...@@ -623,6 +625,16 @@ abstract class BaseMigrateController extends Controller
return $migrations; return $migrations;
} }
/**
* Flushes DB schema cache.
* This method should be implemented if connection has DB schema support.
* @param string $name connection component name
* @since 2.0.1
*/
protected function refreshSchema($name = 'db')
{
}
/** /**
* Returns the migration history. * Returns the migration history.
......
...@@ -178,4 +178,13 @@ class MigrateController extends BaseMigrateController ...@@ -178,4 +178,13 @@ class MigrateController extends BaseMigrateController
'version' => $version, 'version' => $version,
])->execute(); ])->execute();
} }
/**
* @inheritdoc
*/
protected function refreshSchema($name = 'db')
{
$this->db->schema->refresh();
echo "DB schema cache was flushed.\n";
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment