我想运行 php artisan migrate 命令,但出现错误

问题描述 投票:0回答:3

我有一个项目,我想迁移数据库文件,但是当我尝试运行 PHP artisan migrate 命令时,出现错误

我做了很多搜索,但没有得到任何有用的结果,请帮助我

这是我的数据库文件代码:

<?php

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

class CreateBlogTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blogs', function (Blueprint $table) {
            $table->id();
            $table->integer('user_id');
            $table->string('name');
            $table->string('text');
            $table->timestamps();
        });
    }

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

}

这是一条错误消息

Migrating: 2022_07_12_122514_create_blog_table

   Illuminate\Database\QueryException

  SQLSTATE[HY000]: General error: 1 table "blogs" already exists (SQL: create table "blogs" ("id" integer
not null primary key autoincrement, "user_id" integer not null, "name" varchar not null, "text" varchar not null, "created_at" datetime, "updated_at" datetime))

  at C:\Users\Modiran\Desktop\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:712
    708▕         // If an exception occurs when attempting to run a query, we'll format the error
    709▕         // message to include the bindings with SQL, which will make this exception a
    710▕         // lot more helpful to the developer instead of just the database's errors.
    711▕         catch (Exception $e) {
  ➜ 712▕             throw new QueryException(
    713▕                 $query, $this->prepareBindings($bindings), $e
    714▕             );
    715▕         }
    716▕     }

    716▕     }


  1   C:\Users\Modiran\Desktop\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:495
      PDOException::("SQLSTATE[HY000]: General error: 1 table "blogs" already exists")

  2   C:\Users\Modiran\Desktop\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:495
      PDO::prepare("create table "blogs" ("id" integer not null primary key autoincrement, "user_id" integer not null, "name" varchar not null, "text" varchar not null, "created_at" datetime, "updated_at" datetime)")
php laravel sqlite
3个回答
0
投票

与错误状态一样,该表已经存在。

当您第一次运行迁移并在创建表后遇到错误时,可能会发生这种情况。

解决此问题的最简单方法是登录数据库并手动删除表,然后再次运行迁移。


0
投票

您可以运行“php artisan migrate:fresh”,现有表将自动删除并重新生成表


0
投票

希望以下博客能够帮助您找到合适的解决方案: 运行 Laravel 迁移同时跳过运行时错误:您的第一个自定义 Laravel 命令

© www.soinside.com 2019 - 2024. All rights reserved.