如何在laravel迁移中编辑原始表?

时间:2018-09-06 21:07:29

标签: mysql laravel migration

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

也就是说,假设有两个表分别为TeacherChildren。以及学生表具有外键作为TeacherId。(Teacher_id是指Teacher表中的TeacherId) 由于某些错误原因,我想删除教师表或编辑教师表。如果没有原始密钥表不能具有外键,则会发生一般错误。

那么,如何删除教师表或编辑教师表而不删除学生表? 有办法吗?

2 个答案:

答案 0 :(得分:1)

首先,您需要将外键放在学生表上(或者如果不再有教师表,则可能要完全删除Teacher_id列),然后应该能够假定没有更多外键被引用而删除Teacher表。学生表。

答案 1 :(得分:0)

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

有时您会因为migratemigrate:rollback命令产生错误而陷入困境。

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

最后针对您的问题...

您无法在一次提交给数据库的操作中创建表添加外部约束,因此,为此,您需要在迁移过程中添加新的声明{{ 1}}(类似于up()之后的Table:...,然后在此处添加外键。记住要在Schema:create...方法中做相反的事情...