2013-10-19 73 views
2

当我尝试运行php artisan migrate将缺少的迁移迁移到我的数据库时。我得到以下异常:Laravel Artisan Migrate [BadMethodCallException]

[BadMethodCallException]
Call to undefined method Illuminate\Database\Query\Builder::up()

往下看,以获得完整的日志和堆栈跟踪。

我在控制台本地运行我自己的计算机上的命令。但在我的服务器上它也不起作用。

我已经尝试已经是以下几点:1。 composer update 2. artisan dump-autoload 3.删除/供应商,做composer install

这(https://github.com/cartalyst/sentry/issues/257)并没有帮助,因为我没有compile.php文件。 (原因在于本地开发,默认情况下,这是从laravel禁用的。)

如果您需要更多信息,例如完整的迁移代码。请问。

这是从日志http://snippi.com/s/lz5z86f(我已经把它变成一个片段的原因是相当长的。)

回答

2

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

引发此异常的原因。重命名并执行artisan dump-autoload帮助。

0

你能告诉我们你的迁移,因为异常告诉你,用于创建方法的完整堆栈跟踪表等不在那里。在每一个移民的布局应该是这个样子:

public function up() { 

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

} 

public function down() { 

    Schema::drop('users'); 

} 
+0

这是我使用的迁移:http://snippi.com/s/qyrw7wp – Reflic

2

我有同样的问题,然后我意识到,我的移民文件名从类名称不同,并且修复了这个问题对我来说。试试那个。