CakePHP 迁移:"template" 选项不存在
CakePHP Migrations: The "template" option does not exist
执行时出现以下错误
bin/cake migrations create Initial
错误:
[InvalidArgumentException]
The "template" option does not exist.
插件已加载并运行。
// 编辑:我在带有 vagrant 的 virtualbox 上使用 CakePHP 3.0 RC1 全新安装
也许这个输出有帮助:
Exception trace:
() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Input/Input.php:180
Symfony\Component\Console\Input\Input->getOption() at /var/www/projects/vendor/robmorgan/phinx/src/Phinx/Console/Command/Create.php:130
Phinx\Console\Command\Create->execute() at /var/www/projects/vendor/cakephp/migrations/src/ConfigurationTrait.php:145
Migrations\Command\Create->execute() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:253
Symfony\Component\Console\Command\Command->run() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Application.php:874
Symfony\Component\Console\Application->doRunCommand() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Application.php:195
Symfony\Component\Console\Application->doRun() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Application.php:126
Symfony\Component\Console\Application->run() at /var/www/projects/vendor/cakephp/migrations/src/Shell/MigrationsShell.php:70
Migrations\Shell\MigrationsShell->main() at n/a:n/a
call_user_func_array() at /var/www/projects/vendor/cakephp/cakephp/src/Console/Shell.php:387
Cake\Console\Shell->runCommand() at /var/www/projects/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php:200
Cake\Console\ShellDispatcher->_dispatch() at /var/www/projects/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php:171
Cake\Console\ShellDispatcher->dispatch() at /var/www/projects/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php:122
Cake\Console\ShellDispatcher::run() at /var/www/projects/bin/cake.php:20
希望你能帮助我。
感谢
恐怕这是 cakephp/migrations
中的错误
调查:
/vendor/cakephp/migrations/src/Command/Create.php
configure()
没有调用其父级,因此不考虑基础 phinx
库中的更改,即添加 "template" 选项,这是本例中的问题。
IMO configure()
应该调用 parent::configure()
并将 setName()
、setDescription()
等的调用留给 phinx
- 这里有一个未解决的问题 https://github.com/cakephp/migrations/issues/53
执行时出现以下错误
bin/cake migrations create Initial
错误:
[InvalidArgumentException]
The "template" option does not exist.
插件已加载并运行。
// 编辑:我在带有 vagrant 的 virtualbox 上使用 CakePHP 3.0 RC1 全新安装 也许这个输出有帮助:
Exception trace:
() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Input/Input.php:180
Symfony\Component\Console\Input\Input->getOption() at /var/www/projects/vendor/robmorgan/phinx/src/Phinx/Console/Command/Create.php:130
Phinx\Console\Command\Create->execute() at /var/www/projects/vendor/cakephp/migrations/src/ConfigurationTrait.php:145
Migrations\Command\Create->execute() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:253
Symfony\Component\Console\Command\Command->run() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Application.php:874
Symfony\Component\Console\Application->doRunCommand() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Application.php:195
Symfony\Component\Console\Application->doRun() at /var/www/projects/vendor/symfony/console/Symfony/Component/Console/Application.php:126
Symfony\Component\Console\Application->run() at /var/www/projects/vendor/cakephp/migrations/src/Shell/MigrationsShell.php:70
Migrations\Shell\MigrationsShell->main() at n/a:n/a
call_user_func_array() at /var/www/projects/vendor/cakephp/cakephp/src/Console/Shell.php:387
Cake\Console\Shell->runCommand() at /var/www/projects/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php:200
Cake\Console\ShellDispatcher->_dispatch() at /var/www/projects/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php:171
Cake\Console\ShellDispatcher->dispatch() at /var/www/projects/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php:122
Cake\Console\ShellDispatcher::run() at /var/www/projects/bin/cake.php:20
希望你能帮助我。
感谢
恐怕这是 cakephp/migrations
调查:
/vendor/cakephp/migrations/src/Command/Create.php
configure()
没有调用其父级,因此不考虑基础 phinx
库中的更改,即添加 "template" 选项,这是本例中的问题。
IMO configure()
应该调用 parent::configure()
并将 setName()
、setDescription()
等的调用留给 phinx
- 这里有一个未解决的问题 https://github.com/cakephp/migrations/issues/53