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 命令删除特定表并删除迁移文件

无法 php artisan 迁移 - Laravel

php Laravel Artisan迁移实例

sh Laravel Artisan - Cria uma迁移

Laravel artisan 迁移多个数据库

MongoDB 和 Artisan 在 Laravel 5 和 Lumen 上进行迁移