2014-12-02 193 views
0

当我运行php artisan migrate我得到错误BLaravel迁移错误

基表或视图已经存在:1050表 '类' 已经存在

这是什么?为什么?如何查找错误? 我的类别迁移文件:

<?php 

use Illuminate\Database\Migrations\Migration; 
use Illuminate\Database\Schema\Blueprint; 

class CategoriesTable extends Migration 
{ 

    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('categories', function (Blueprint $table) { 

      $table->increments('id'); 

      $table->string('title')->index(); 
      $table->text('description'); 

      $table->integer('attachment_id')->unsigned()->index(); 
      $table->foreign('attachment_id')->references('id')->on('attachment')->onDelete('cascade'); 
      $table->timestamps(); 
     }); 
    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     // 
    } 

} 
+0

听起来好像表中您的数据库已经存在..你检查,这不? – msturdy 2014-12-02 13:48:41

+0

即使我删除表格,错误仍然存​​在。情况并非如此 – engilexial 2014-12-02 13:49:51

+0

你如何删除表格?好像你没有在你的迁移文件中定义'down()'方法,所以工匠不会删除那个表 – msturdy 2014-12-02 13:52:48

回答

0

在这种迁移文件,功能下降()应该是

public function down() 
{ 
    Schema::drop('categories'); 
} 
0

看来你尝试创建现有的表..

,所以我想您正在编辑已安装的迁移文件

您可以删除数据库并重新迁移它

php artisan migrate:reset 

然后

php artisan migrate