yiisoft/yii2 · error · yii\console\Exception
The migration name is too long.
Error message
The migration name is too long.
What it means
Error "The migration name is too long." thrown in yiisoft/yii2.
Source
Thrown at framework/console/controllers/BaseMigrateController.php:667
* letters, digits, underscores and/or backslashes.
*
* Note: If the migration name is of a special form, for example create_xxx or
* drop_xxx, then the generated migration file will contain extra code,
* in this case for creating/dropping tables.
*
* @throws Exception if the name argument is invalid.
*/
public function actionCreate($name)
{
if (!preg_match('/^[\w\\\\]+$/', $name)) {
throw new Exception('The migration name should contain letters, digits, underscore and/or backslash characters only.');
}
list($namespace, $className) = $this->generateClassName($name);
// Abort if name is too long
$nameLimit = $this->getMigrationNameLimit();
if ($nameLimit !== null && strlen($className) > $nameLimit) {
throw new Exception('The migration name is too long.');
}
$migrationPath = $this->findMigrationPath($namespace);
$file = $migrationPath . DIRECTORY_SEPARATOR . $className . '.php';
if ($this->confirm("Create new migration '$file'?")) {
$content = $this->generateMigrationSourceCode([
'name' => $name,
'className' => $className,
'namespace' => $namespace,
]);
FileHelper::createDirectory($migrationPath);
if (file_put_contents($file, $content, LOCK_EX) === false) {
$this->stdout("Failed to create new migration.\n", Console::FG_RED);
return ExitCode::IOERR;
}
View on GitHub (pinned to 66f00d18a2)
When it happens
Trigger: Thrown at framework/console/controllers/BaseMigrateController.php:667 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of yiisoft/yii2@66f00d18a2 (2026-08-17).
Data as JSON: /api/errors/9f27480bca7979fd.
Report an issue: GitHub.