由于我没有制作用户表,无法进行迁移

Posted

技术标签:

【中文标题】由于我没有制作用户表,无法进行迁移【英文标题】:Can't make migration because of users table I didn't make 【发布时间】:2020-01-05 15:19:32 【问题描述】:

我正在尝试为我的方案迁移一个新表,当我运行 php artisan migrate 时出现以下错误:

Migrating: 2014_10_12_000000_create_users_table
Illuminate\Database\QueryException  : SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (SQL: create table `users` (`id` bigint unsigned not null auto_increment primary key, `name` varchar(191) not null, `email` varchar(191) not null, `email_verified_at` timestamp null, `password` varchar(191) not null, `remember_token` varchar(100) null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')

我没有创建该迁移,它是由 php artisan make:auth 自动提供的,据我所知,它已经运行,因为 users 表已启动并正在运行,所以我不知道如何解决它.任何帮助将不胜感激

【问题讨论】:

取决于您对项目/数据库的了解程度。如果您没有用重要数据填充表格,您可以将它们全部删除并再次迁移所有内容(最简单的解决方案)。当您只想迁移特定表时,您可以在 mogrations 中为特定表创建子文件夹(您可以选择要迁移的表) 我尝试创建的表名为 player_player,因此它与用户表无关 当您调用迁移数据库/迁移目录中的所有架构时,正在执行。也许这是解决方案:***.com/questions/45473624/… 试试php artisan migrate:refresh 【参考方案1】:

尝试运行 php artisan migrate:reset 如果它不起作用并给你一个错误登录到你的 phpmyadmin 页面并手动删除它。

但在再次运行 php artisan migrate 之前,请确保此代码位于 create_users_table 迁移文件的底部:

 @return void

public function down()

    Schema::dropIfExists('users');

所以当你运行 php artisan migrate:refresh 时,它会删除当前表并重新创建它

【讨论】:

以上是关于由于我没有制作用户表,无法进行迁移的主要内容,如果未能解决你的问题,请参考以下文章

Django 如何在第一次迁移时制作与用户、身份验证、组、会话等相关的表?

Azure 数据库迁移服务安全问题

Django 迁移失败 - 无法查询“peterson”:必须是“用户”实例

如何在 Laravel 中制作迁移模型

是否有推荐的方法来迁移 JWT 令牌?

由于迁移错误而尝试重置我的数据库,甚至无法在没有 SQLException 的情况下重置