Laravel Artisan 迁移 [BadMethodCallException]
Posted
技术标签:
【中文标题】Laravel Artisan 迁移 [BadMethodCallException]【英文标题】:Laravel Artisan Migrate [BadMethodCallException] 【发布时间】:2013-10-28 09:00:10 【问题描述】:当我尝试运行 php artisan migrate
将丢失的迁移迁移到我的数据库时。我得到以下异常:
[BadMethodCallException]
Call to undefined method Illuminate\Database\Query\Builder::up()
向下查看以获取完整的日志和堆栈跟踪。
我在自己计算机上的本地控制台上运行该命令。但在我的服务器上它也不起作用。
我已经尝试过以下方法:
1.composer update
2.artisan dump-autoload
3.删除/vendor并做composer install
这 (https://github.com/cartalyst/sentry/issues/257) 没有帮助,因为我没有 compile.php 文件。 (由于本地开发,laravel 默认禁用此功能。)
如果您需要更多信息,例如完整的迁移代码。请问一下。
这是来自日志http://snippi.com/s/lz5z86f 的完整堆栈跟踪(我已将其放入 sn-p,因为它很长。)
【问题讨论】:
【参考方案1】:我有另一个类与迁移具有相同的文件名。
因此引发了异常。重命名和执行artisan dump-autoload
有帮助。
【讨论】:
【参考方案2】:我遇到了同样的问题,然后我意识到我的迁移文件名与类名不同,这为我解决了问题。试试那个。
【讨论】:
【参考方案3】:您能否向我们展示您的迁移,因为异常告诉您用于创建表等的方法不存在。在每次迁移中,布局应如下所示:
public function up()
Schema::create('users', function($table)
$table->increments('id');
);
public function down()
Schema::drop('users');
【讨论】:
以上是关于Laravel Artisan 迁移 [BadMethodCallException]的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 迁移:使用 artisan 命令删除特定表并删除迁移文件