我正在使用Laravel上现有的项目,我需要更改当前的数据库架构并保留当前数据。
例如,我在初始迁移中有这个表:
人
----------------------------------------------
| **Id** |**Name** | **PhoneNumber** |
----------------------------------------------
| 1 | John Doe | 111-55-5855 |
----------------------------------------------
| 2 | Jane Doe | 111-55-5521 |
----------------------------------------------
但现在,我需要将其拆分为两个表:
人
----------------------------
| **Id** |**Name** |
----------------------------
| 1 | John Doe |
----------------------------
| 2 | Jane Doe |
----------------------------
个人电话
---------------------------------------------------
| **PhoneId** | **PersonId** | **PhoneNumber** |
---------------------------------------------------
| 1 | 1 | 111-55-5855 |
---------------------------------------------------
| 2 | 2 | 111-55-5521 |
---------------------------------------------------
因此,在新的迁移中,我从Person中删除PhoneNumber并添加新表PersonPhone。
有没有办法将PhoneNumber映射到新表并将PersonId和PersonId保存在Person表中?或者唯一的方法是创建一个MySQL脚本?
答案 0 :(得分:0)
是的,您需要创建一个数据透视表和所需的类。
我发现这可以帮助您入门:http://laraveldaily.com/pivot-tables-and-many-to-many-relationships/
==
您可以创建迁移并设置架构来处理它:
https://laravel.com/docs/5.3/migrations或https://laravel.com/docs/5.1/migrations