在yiic迁移中永久自定义迁移表

时间:2014-07-03 20:01:18

标签: database-migration command-line-interface yii

无论如何永久强制yiic在我的应用程序的protected文件夹中,总是(无论如何)使用自定义表名进行迁移?

唯一的方法,我发现是yiic migrate --migrationTable=migrations的“标准”方式。但这是非常糟糕的做法。任何(偶然的或有意的)错过/忘记添加此额外参数和整个迁移都会破解,因为yiic将创建新的空tbl_migration表,而不是使用正确的migrations表。 / p>

1 个答案:

答案 0 :(得分:1)

class MyMigrateCommand extends MigrateCommand {

    public $migrationTable='migrations';

}

您还可以更新yiic.php文件:

...
$app = Yii::createConsoleApplication($config);

$statConfig = require_once(dirname(__FILE__).'/config/console.php');
$app->configure($statConfig);

$app->commandRunner->commands = $statConfig['commandMap'];
...

并添加到config:

...
'commandMap' => array(
        'class'=>'system.cli.commands.MigrateCommand',
        'migrationTable'=>'stat_tbl_migration',
),
...