Laravelで別のデータベースから同じテーブルカラムのテーブルにデータを移行した件
Laravelを使っていて、
マスター、スレーブみたいに、
別のデータベースに対して、
バックアップデータや、
一度、別データベースに最新情報を作成して、
本来のデータベースにデータを移すなど、
データを移行しようとした時のメモ。
前提:やろうとしたこと
やろうとしたことは、
別データベースから、
同じカラムを持ったテーブルに対して、
データを移行しようとした。
イメージとしては、
このような感じで、
移行元のデータベースから、
移行先のデータベースに対して、
データを移行させようとしました。
Laravelでの対応内容
Laravelでの対応内容としては、
それぞれのデータベースの定義を準備して、
それのデータに対して、
テーブル内容の削除と、
データを再度、移行元から追加するというシンプルな動作。
Laravelでテーブル単位で移行の方法
dumpとって、
一括で入れてしまうなどの方法も別であるとは思うが、
Laravelの中で、
- 移行先のテーブルの中身を削除
- 移行元のテーブルの中身を取得
- 移行先に移行元のテーブルの中身を追加
という感じで処理を行った。
実際の処理はこんな感じ。
$tblDataNew = DB::connection('new_database')
->table('new_table')
->get();
DB::connection('old_database')->table('old_table')->truncate();
foreach($tblDataNew as $rowData) {
DB::connection('old_database')
->table('old_table')
->insert(get_object_vars($rowData));
}
この処理で、
データが削除されて、
移行元からうまくデータが追加できた。
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。