【问题标题】:how to edit original table in laravel migration?如何在 laravel 迁移中编辑原始表?
【发布时间】:2019-02-12 04:40:34
【问题描述】:

我的问题是如何在 laravel 迁移中编辑原始表?

也就是说,假设有两个表分别为Teacher 和Children。以及Student表有外键作为TeacherId。(Teacher_id指Teacher表中的TeacherId) 一些错误原因我想删除教师表或编辑教师表。然后一般错误没有原始键表不能有外键。

那么如何在不删除学生表的情况下删除教师表或编辑教师表? 有什么办法吗?

【问题讨论】:

    标签: mysql laravel migration


    【解决方案1】:

    首先,您需要删除 Student 表上的外键(或者如果您不再有 Teacher 表,则可能完全删除 teacher_id 列),然后假设没有更多外键引用,您应该能够删除 Teacher 表学生表。

    【讨论】:

      【解决方案2】:

      您应该以某种方式对 laravel migrations 进行编码,以便您可以在 down() 方法下将其全部还原。

      有时你会卡住,在某种程度上,migrate 或 migrate:rollback 命令会产生错误。

      然后您应该手动修改您的数据库结构(使用 mysql 命令、工作台或任何其他 sql 工具),以使您的迁移再次工作...

      最后针对您的问题...

      您不能在一次提交中创建表和添加外部约束到 db,因此为了做到这一点,您需要在迁移中添加新声明 @987654325 @ like Table:... 在Schema:create... 之后并在此处添加您的外键。记得在down()方法中做相反的事情...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-09
        • 2020-02-14
        • 2015-10-20
        • 1970-01-01
        • 2015-05-01
        • 2013-07-14
        • 1970-01-01
        • 2019-07-13
        相关资源
        最近更新 更多