2016-10-06 129 views
-2

私はLaravelの既存のプロジェクトで作業しており、現在のデータベースのスキーマを変更して現在のデータを保持する必要があります。例えば、私は最初の移行でこのテーブルを持っているLaravelでテーブルから別のテーブルにデータを移動

---------------------------------------------- 
| **Id**  |**Name** | **PhoneNumber** | 
---------------------------------------------- 
|    1 | John Doe | 111-55-5855  | 
---------------------------------------------- 
|    2 | Jane Doe | 111-55-5521  | 
---------------------------------------------- 

しかし、今、私は2つのテーブルにこれを分割する必要があります。

---------------------------- 
| **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

私はドキュメントを守っています。実際には、新しい列を追加しただけでテーブルのデータが正常に移行されていますが、問題はありません。 –

関連する問題