【问题标题】:CakePHP Migrations: The "template" option does not existCakePHP 迁移:“模板”选项不存在
【发布时间】:2015-02-08 10:35:09
【问题描述】:

执行时出现以下错误

bin/cake migrations create Initial

错误:

[InvalidArgumentException]
“模板”选项不存在。

插件已加载并正在运行。

// 编辑:我在一个带有 vagrant 的虚拟机上使用 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

我希望你能帮助我。

谢谢

【问题讨论】:

    标签: php shell cakephp cakephp-3.0


    【解决方案1】:

    恐怕这是cakephp/migrations的一个bug

    查看: /vendor/cakephp/migrations/src/Command/Create.php

    configure() 没有调用其父级,因此不考虑底层phinx 库中的更改,即添加“模板”选项,这是本例中的问题。

    IMO configure() 应致电 parent::configure() 并将 setName()setDescription() 等电话留给 phinx - 这里有一个问题 https://github.com/cakephp/migrations/issues/53

    【讨论】:

    • 是的,这是一个错误,我在 github 上打开了那张票 ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 2014-07-31
    • 1970-01-01
    • 2017-12-18
    • 2019-03-20
    • 1970-01-01
    • 2016-05-02
    相关资源
    最近更新 更多