Laravel使用migrate添加新表


Laravel Add new Table with migrate

我创建了一个Laravel项目,并使用Migrate添加了一些表。它运行良好。表中已包含数据。现在我需要另一个表,我试着用这个命令添加它:

php artisan make:migration create_books_table

它正在''数据库''迁移…中工作并添加文件。。。。然后我在up((函数中添加了schema。但当我运行命令时,

php artisan migrate

它不工作,给出错误基表或视图已存在。

请帮忙。我对拉拉维尔很陌生。感谢

迁移代码。。

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');
    }
}

在"database/migrations/"中创建新文件夹,并在迁移时使用"path"属性。迁移表后,您可以将迁移文件移回常用文件夹。

php artisan migrate --path=/database/migrations/new folder/ 
Laravel有一个自己的表,叫做迁移。它用于保存表创建时间的信息,以便手工人员可以回滚到另一个点。如果手动删除表,迁移表中的条目仍然存在。如果删除数据库中的所有表并再次迁移,它应该可以工作。

您需要删除数据库中现有的"books"表;

该表已存在,因此不会再次创建。

或者,如果其他表中没有太多数据,则运行

php artisan migrate:fresh

这将回滚以前的表迁移,并重新迁移所有