2

当我尝试运行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的完整堆栈跟踪(我已将其放入片段中,因为它很长。)

4

3 回答 3

3

我有另一个类与迁移具有相同的文件名。

导致这个异常被抛出。重命名和执行有artisan dump-autoload帮助。

于 2014-01-17T21:15:33.457 回答
2

我遇到了同样的问题,然后我意识到我的迁移文件名与类名不同,这为我解决了问题。试试那个。

于 2014-01-17T19:55:17.097 回答
0

您能否向我们展示您的迁移,因为异常告诉您用于创建表等的方法不存在。在每次迁移中,布局应如下所示:

public function up() {

    Schema::create('users', function($table)
    {
        $table->increments('id');
    });

}

public function down() {

    Schema::drop('users');

}
于 2013-10-21T13:49:06.820 回答