无法在laravel中迁移新表

时间:2017-11-10 07:05:49

标签: laravel migration

我使用命令

创建了一个表

创建表: php artisan make:migration create_movie --create = movie

然后添加了身体& user_id列代码

public function up()
{
    Schema::create('movie', function (Blueprint $table) {

        $table->increments('id');

        $table->text('body');

        $table->integer('user_id');

        $table->timestamps();
    });
}

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

然后点击 php artisan migrate 命令

但这显示了我的异常,我无法将电影表添加到数据库

[照亮\数据库\ QueryException]   SQLSTATE [42S01]:基表或视图已存在:1050表'users'已存在(SQL:create table users id int unsigned not null auto_increment primary key,name varchar( 255)not null,email varchar(255)not null,   password varchar(255)not null,remember_token varchar(100)null,created_at timestamp null,updated_at tim   estamp null)默认字符集utf8mb4 collat​​e utf8mb4_unicode_ci)

[PDOException]   SQLSTATE [42S01]:基表或视图已存在:1050表'用户'已存在

4 个答案:

答案 0 :(得分:1)

您可以尝试像这样运行新的生成电影特定文件迁移

php artisan migrate --path=/database/migrations/{{Your_movie_migration_filename}}

答案 1 :(得分:1)

请清空迁移表并运行php artisan migrate命令

在迁移文件夹中创建测试文件夹,然后在测试文件夹中移动/复制新创建的迁移,并在终端/ cmd中运行以下命令,如:

php artisan migrate --path=/database/migrations/test/

答案 2 :(得分:1)

清空数据库表并再次运行迁移,或者如果您不想丢失数据,请执行以下操作:

找到您的影片表迁移(数据库>迁移)并将日期更改为迁移文件中的任何最早日期,以使其首先进入该文件夹。

再次运行迁移,即使您收到有关用户表的错误(它不是错误,只是说它已经存在),也会创建电影表。

  

迁移从上到下迁移

答案 3 :(得分:0)

您可以使用下一个 artisan 命令来回滚您的所有迁移,然后执行 migrate 命令。请在此处查看文档 https://laravel.com/docs/8.x/migrations#roll-back-migrate-using-a-single-command

php artisan migrate:fresh