mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-18 01:07:37 +08:00
limit applied to migration
This commit is contained in:
@ -204,7 +204,10 @@ class MigrateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function actionDown($limit = 1)
|
public function actionDown($limit = 1)
|
||||||
{
|
{
|
||||||
if ($limit === 'all') {
|
|
||||||
|
$downAll = ($limit === 'all');
|
||||||
|
|
||||||
|
if ($downAll) {
|
||||||
$limit = null;
|
$limit = null;
|
||||||
} else {
|
} else {
|
||||||
$limit = (int) $limit;
|
$limit = (int) $limit;
|
||||||
@ -214,11 +217,13 @@ class MigrateController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$migrations = $this->getMigrationHistory($limit);
|
$migrations = $this->getMigrationHistory($limit);
|
||||||
|
|
||||||
if (empty($migrations)) {
|
if (empty($migrations)) {
|
||||||
echo "No migration has been done before.\n";
|
echo "No migration has been done before.\n";
|
||||||
|
|
||||||
return self::EXIT_CODE_NORMAL;
|
return self::EXIT_CODE_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
$migrations = array_keys($migrations);
|
$migrations = array_keys($migrations);
|
||||||
|
|
||||||
$n = count($migrations);
|
$n = count($migrations);
|
||||||
@ -249,6 +254,7 @@ class MigrateController extends Controller
|
|||||||
* ~~~
|
* ~~~
|
||||||
* yii migrate/redo # redo the last applied migration
|
* yii migrate/redo # redo the last applied migration
|
||||||
* yii migrate/redo 3 # redo the last 3 applied migrations
|
* yii migrate/redo 3 # redo the last 3 applied migrations
|
||||||
|
* yii migrate/redo all # redo all migrations
|
||||||
* ~~~
|
* ~~~
|
||||||
*
|
*
|
||||||
* @param integer $limit the number of migrations to be redone. Defaults to 1,
|
* @param integer $limit the number of migrations to be redone. Defaults to 1,
|
||||||
@ -259,17 +265,25 @@ class MigrateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function actionRedo($limit = 1)
|
public function actionRedo($limit = 1)
|
||||||
{
|
{
|
||||||
$limit = (int) $limit;
|
$redoAll = ($limit === 'all');
|
||||||
if ($limit < 1) {
|
|
||||||
throw new Exception("The step argument must be greater than 0.");
|
if ($redoAll) {
|
||||||
|
$limit = null;
|
||||||
|
} else {
|
||||||
|
$limit = (int) $limit;
|
||||||
|
if ($limit < 1) {
|
||||||
|
throw new Exception("The step argument must be greater than 0.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$migrations = $this->getMigrationHistory($limit);
|
$migrations = $this->getMigrationHistory($limit);
|
||||||
|
|
||||||
if (empty($migrations)) {
|
if (empty($migrations)) {
|
||||||
echo "No migration has been done before.\n";
|
echo "No migration has been done before.\n";
|
||||||
|
|
||||||
return self::EXIT_CODE_NORMAL;
|
return self::EXIT_CODE_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
$migrations = array_keys($migrations);
|
$migrations = array_keys($migrations);
|
||||||
|
|
||||||
$n = count($migrations);
|
$n = count($migrations);
|
||||||
@ -410,7 +424,7 @@ class MigrateController extends Controller
|
|||||||
* ~~~
|
* ~~~
|
||||||
* yii migrate/history # showing the last 10 migrations
|
* yii migrate/history # showing the last 10 migrations
|
||||||
* yii migrate/history 5 # showing the last 5 migrations
|
* yii migrate/history 5 # showing the last 5 migrations
|
||||||
* yii migrate/history 0 # showing the whole history
|
* yii migrate/history all # showing the whole history
|
||||||
* ~~~
|
* ~~~
|
||||||
*
|
*
|
||||||
* @param integer $limit the maximum number of migrations to be displayed.
|
* @param integer $limit the maximum number of migrations to be displayed.
|
||||||
@ -418,8 +432,19 @@ class MigrateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function actionHistory($limit = 10)
|
public function actionHistory($limit = 10)
|
||||||
{
|
{
|
||||||
$limit = (int) $limit;
|
$showAll = ($limit === 'all');
|
||||||
|
|
||||||
|
if ($showAll) {
|
||||||
|
$limit = null;
|
||||||
|
} else {
|
||||||
|
$limit = (int) $limit;
|
||||||
|
if ($limit < 1) {
|
||||||
|
throw new Exception("The step argument must be greater than 0.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$migrations = $this->getMigrationHistory($limit);
|
$migrations = $this->getMigrationHistory($limit);
|
||||||
|
|
||||||
if (empty($migrations)) {
|
if (empty($migrations)) {
|
||||||
echo "No migration has been done before.\n";
|
echo "No migration has been done before.\n";
|
||||||
} else {
|
} else {
|
||||||
@ -444,7 +469,7 @@ class MigrateController extends Controller
|
|||||||
* ~~~
|
* ~~~
|
||||||
* yii migrate/new # showing the first 10 new migrations
|
* yii migrate/new # showing the first 10 new migrations
|
||||||
* yii migrate/new 5 # showing the first 5 new migrations
|
* yii migrate/new 5 # showing the first 5 new migrations
|
||||||
* yii migrate/new 0 # showing all new migrations
|
* yii migrate/new all # showing all new migrations
|
||||||
* ~~~
|
* ~~~
|
||||||
*
|
*
|
||||||
* @param integer $limit the maximum number of new migrations to be displayed.
|
* @param integer $limit the maximum number of new migrations to be displayed.
|
||||||
@ -452,13 +477,24 @@ class MigrateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function actionNew($limit = 10)
|
public function actionNew($limit = 10)
|
||||||
{
|
{
|
||||||
$limit = (int) $limit;
|
$showAll = ($limit === 'all');
|
||||||
|
|
||||||
|
if ($showAll) {
|
||||||
|
$limit = null;
|
||||||
|
} else {
|
||||||
|
$limit = (int) $limit;
|
||||||
|
if ($limit < 1) {
|
||||||
|
throw new Exception("The step argument must be greater than 0.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$migrations = $this->getNewMigrations();
|
$migrations = $this->getNewMigrations();
|
||||||
|
|
||||||
if (empty($migrations)) {
|
if (empty($migrations)) {
|
||||||
echo "No new migrations found. Your system is up-to-date.\n";
|
echo "No new migrations found. Your system is up-to-date.\n";
|
||||||
} else {
|
} else {
|
||||||
$n = count($migrations);
|
$n = count($migrations);
|
||||||
if ($limit > 0 && $n > $limit) {
|
if ($limit && $n > $limit) {
|
||||||
$migrations = array_slice($migrations, 0, $limit);
|
$migrations = array_slice($migrations, 0, $limit);
|
||||||
echo "Showing $limit out of $n new " . ($n === 1 ? 'migration' : 'migrations') . ":\n";
|
echo "Showing $limit out of $n new " . ($n === 1 ? 'migration' : 'migrations') . ":\n";
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user