使用 Laravel 将数据从表迁移到不同的表
Posted
技术标签:
【中文标题】使用 Laravel 将数据从表迁移到不同的表【英文标题】:Migrate data from table to different tables with Laravel 【发布时间】:2017-02-14 17:02:04 【问题描述】:我正在使用 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 映射到新表并将 PhoneId 和 PersonId 保留在 Person 表中?或者唯一的方法是创建一个 mysql 脚本?
【问题讨论】:
抱歉,投反对票的原因是什么? 【参考方案1】:是的,您需要创建一个数据透视表和所需的类。
我发现这是为了让你开始:http://laraveldaily.com/pivot-tables-and-many-to-many-relationships/
==
您可以创建迁移并设置架构来处理它:
https://laravel.com/docs/5.3/migrations 或 https://laravel.com/docs/5.1/migrations
https://laravel.com/docs/5.0/schema
【讨论】:
这不是问题,我想要的是迁移数据,我的意思是,保留当前数据并映射到新架构。 我一直在关注文档,实际上一些表数据已经很好地迁移了,因为我只添加了一个新列,这没关系,但我的问题是像示例这样的表,我将列移动到一个新表。以上是关于使用 Laravel 将数据从表迁移到不同的表的主要内容,如果未能解决你的问题,请参考以下文章