当前位置: 首页 > 知识库问答 >
问题:

外键不匹配 - “password_resets”在 dropColumn 上引用“用户”

聂琨
2023-03-14

我试图在“users”表中删除一列(姑且称之为fooboo ),并进行迁移,但我得到了下一个错误:

一般错误: 1外键不匹配-"password_resets"引用"用户"(SQL: INSERT INTO用户(id, name, email,密码, foboos,created_at,updated_at)SELECT id, name, email,密码, foboos,created_at,updated_at来自__temp__users)

迁移类中的 up() 函数:


    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('fooboo');
        });
    }

特别是这一列没有任何索引、FK或任何可能产生冲突的东西。它只是一个默认值FALSE的布尔值。

运行我的单元测试(phpUnit)时,我在sqlite上遇到了这个错误。我不能解决这个问题,只是删除创建它的迁移类上的列,我需要一个新的迁移才能在正式服上运行。

问我们的朋友谷歌,我只能找到这个与错过的迁移相关的错误,这不是我的情况。

共有1个答案

慕麒
2023-03-14

您可以首先添加这一行:

Schema::disableForeignKeyConstraints();

最后加上这一行:

Schema::enableForeignKeyConstraints();

这将禁用外键约束。

 类似资料:
  • 问题内容: 每当我清理项目时,都会说:PSI和索引不匹配该怎么办? 问题答案: 重要说明:这将清除架子,本地历史记录以及可能的其他缓存数据。 “文件”菜单>“使缓存无效并重新启动”。PSI缓存是受此命令影响的缓存之一,因此应该对其进行修复。

  • 问题内容: 一般来说,我对Web应用程序和数据库内容还是陌生的,所以这可能是一个愚蠢的问题。我想制作一个模型(“ CategoryModel”),其字段指向模型的另一个实例(其父实例)的主ID。 我该怎么做呢?谢谢! 问题答案: 你可以将模型名称作为字符串传递给ForeignKey,这将做正确的事情。 所以: 或者你可以使用字符串“ self”

  • 在我的例子中,abc或def是一个很长的搜索时间,如果我必须更改regex,我必须在这两个地方都更改。有没有什么方法可以在没有记忆的情况下回指这个群体? https://regex101.com/r/bl9wu1/1

  • 问题内容: 在PostgreSQL中,我有一个数据库,我打算进行以下表声明: 一切正常,除了在创建最后一个表(更正)时出现以下错误: 错误:没有唯一的约束匹配给定键的引用表“提交” 我对更正表的打算是对每个提交都有唯一的更正,但是一个提交可以(也可以不)具有更正。 我该如何解决这个错误?是设计问题还是表声明错误? 问题答案: 外键约束不关心所引用的列是否在引用另一列本身。但是引用的列 必须 是唯一

  • 我正试图从表用户中删除一条记录。 尝试用DELETE-语句(从user_id=10的用户中删除)以及在我的DB浏览器中删除它,但我得到了上面的错误,特别是它说:“删除记录错误:外键不匹配-”games“引用”groups“(从”main“中删除。”users“WHERE rowid in('10');)”。在我的架构下面: 创建表'group'('group_name'VARCHAR(255)NO

  • 我的数据库技能有点生疏,所以对我来说学习Hibernate有点难。 我一直在阅读一对一、一对多和多对多,简而言之,这是我年轻时的理解: 一对一:-表A链接到表B中的另一行,表A中的行数必须等于表B中的行数。 一对多:-每家公司可以有很多员工。 多对多:-许多医生可以拥有/分享不同的病人。(无意双关语)。 假设我有以下表格,对于殡仪员客户模型 [id[pk]、全名(char)、年龄(int)、地址(