Laravel迁移表已经存在,但我想添加新的而不是旧的

我以前创建了用户表。现在,我创建了一个新迁移,以在架构内创建一个新的books表。当我尝试运行命令时

php artisan migrate

[Illuminate\Database\QueryException]

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' alre

ady exists (SQL: create table `users` (`id` int unsigned not null auto_incr

ement primary key, `username` varchar(255) not null, `email` varchar(255) n

ot null, `password` varchar(255) not null, `created_at` timestamp default 0

not null, `updated_at` timestamp default 0 not null) default character set

utf8 collate utf8_unicode_ci)

<?php

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Database\Migrations\Migration;

class CreateBooksTable extends Migration {

public function up()

{

Schema::create('books', function(Blueprint $table)

{

$table->increments('id');

$table->string('name');

$table->string('auther');

$table->string('area');

$table->timestamps();

});

}

public function down()

{

Schema::drop('books');

}

}

如何摆脱错误?

回答:

你需要跑步

php artisan migrate:rollback

如果仍然失败,则只需删除所有您可能要做的表,因为您的迁移表似乎混乱了,或者您在运行前一个回滚时的用户表没有删除该表。

编辑:

发生这种情况的原因是您先前运行了一个回滚,并且在代码中有一些错误或没有删除该表。但是,这仍然弄乱了laravel迁移表,就您而言,您现在没有将用户表向上推的记录。用户表已经存在,但是会引发此错误。

以上是 Laravel迁移表已经存在,但我想添加新的而不是旧的 的全部内容, 来源链接: utcz.com/qa/419416.html

回到顶部