使用Laravel将数据从表迁移到不同的表

时间:2016-10-06 04:46:45

标签: laravel laravel-5.1 laravel-migrations

我正在使用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脚本?

1 个答案:

答案 0 :(得分:0)

是的,您需要创建一个数据透视表和所需的类。

我发现这可以帮助您入门:http://laraveldaily.com/pivot-tables-and-many-to-many-relationships/

==

您可以创建迁移并设置架构来处理它:

https://laravel.com/docs/5.3/migrationshttps://laravel.com/docs/5.1/migrations

https://laravel.com/docs/5.0/schema