【问题标题】:Laravel Sanctum, can't php artisan migrate because of existing users tableLaravel Sanctum,由于现有用户表而无法迁移 php artisan
【发布时间】:2022-04-09 12:06:32
【问题描述】:

我正在尝试在我的应用程序上使用 Sanctum 进行身份验证,我有一个现有的数据库,我有我的模型和我的控制器,当我按照步骤为令牌创建表以及可能在用户表中的其他列时,使用 PHP artisan 迁移,它会显示此错误。

我知道这意味着什么,用户表已经存在,但是有没有办法保留我的表并使用此命令仅添加缺少的部分? (令牌表和列)?

这是错误:

C:\Users\HP\Desktop\New_backend\pfa>php artisan 迁移
迁移:2014_10_12_000000_create_users_table

照亮\数据库\查询异常

SQLSTATE[42S01]:基表或视图已存在:1050 表“用户”已存在(SQL:创建表 users (id bigint unsigned not null auto_increment 主键,name varchar(255) not null, email varchar(255) not null, email_verified_at timestamp null, password varchar(255) not null, remember_token varchar(100) null, created_at timestamp null, updated_at timestamp null) 默认字符集 utf8mb4 collat​​e 'utf8mb4_unicode_ci')

在 C:\Users\HP\Desktop\New_backend\pfa\vendor\laravel\framework\src\Illuminate\Database\Connection.php:685
681▕ // 如果尝试运行查询时发生异常,我们将格式化错误
682▕ // 包含与 SQL 的绑定的消息,这将使此异常成为一个
683▕ // 对开发人员更有帮助,而不仅仅是数据库的错误。
684▕ 捕获(异常 $e){
➜ 685▕ 抛出新的 QueryException(
686▕ $query, $this->prepareBindings($bindings), $e
687▕);
688▕ }
689▕

1 C:\Users\HP\Desktop\New_backend\pfa\vendor\laravel\framework\src\Illuminate\Database\Connection.php:478
PDOException::("SQLSTATE[42S01]: 基表或视图已存在:1050 表 'users' 已存在")

2 C:\Users\HP\Desktop\New_backend\pfa\vendor\laravel\framework\src\Illuminate\Database\Connection.php:478
PDOStatement::execute()

【问题讨论】:

    标签: authentication laravel-8 laravel-sanctum


    【解决方案1】:

    您应该尝试运行删除所有表然后重新创建它们的命令:

      php artisan migrate:fresh
    

    如果你想稍后做一个数据播种器,在最后添加参数--seed:

    php artisan migrate:fresh --seed
    

    The Laravel documentation about migrations

    【讨论】:

      猜你喜欢
      • 2019-11-06
      • 2020-01-18
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 2016-05-22
      • 2017-10-12
      • 2019-02-24
      • 2017-04-10
      相关资源
      最近更新 更多