Laravel 使用 migrate 添加新表

use*_*778 8 php mysql migration laravel

我创建了一个 Laravel 项目,并添加了一些带有 Migrate 的表。它工作正常。表已经有数据。现在我需要另一个表,并尝试使用以下命令添加它:

php artisan make:migration create_books_table
Run Code Online (Sandbox Code Playgroud)

它正在工作并在 \database\migrations 中添加文件...。然后我在 up() 函数中添加了架构。但是当我运行命令时,

php artisan migrate
Run Code Online (Sandbox Code Playgroud)

它不起作用,给出错误 Base table or view already exists。

请帮忙。我对laravel很陌生。谢谢

迁移代码..

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

class CreateBooksTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('books', function(Blueprint $table)
        {
            $table->increments('id');
            $table->string('name');
            $table->text('description');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('books');
    }

}
Run Code Online (Sandbox Code Playgroud)

cre*_*re8 3

Laravel 有一个自己的表,称为迁移。它用于保存有关表创建时间的信息,以便工匠可以回滚到另一个点。如果您手动删除表,迁移表中的条目仍然存在。如果您删除数据库中的所有表并再次迁移,它应该可以工作。