2016-10-06 2 views
-2

저는 Laravel에 대한 기존 프로젝트로 작업 중이며 현재 데이터베이스 스키마를 변경하고 현재 데이터를 유지해야합니다.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  | 
--------------------------------------------------- 

그래서, 새로운 마이그레이션 나는 사람에서 PHONENUMBER을 삭제하고 새 테이블 PersonPhone를 추가합니다.

PhoneNumber를 새 테이블에 매핑하고 PhoneId 및 PersonId를 Person 테이블에 유지할 수 있습니까? 또는 유일한 방법은 MySQL 스크립트를 만드는 것입니다.

+0

죄송합니다, downvote의 이유는 무엇입니까? –

답변

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

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

+0

그건 문제가 아니에요, 내가 원하는 것은 데이터를 마이그레이션하는 것입니다. 즉, 현재 데이터를 유지하고 새 스키마에 매핑하는 것입니다. –

+0

필자는 실제로 새로운 컬럼을 추가했기 때문에 실제로 일부 테이블 데이터가 잘 마이그레이션되었지만 괜찮습니다. 그러나 문제는 예제와 같이 새로운 테이블로 컬럼을 이동 한 테이블과 관련되어 있습니다. –

관련 문제