Laravelのシーディング機能を使ってデータを移行します。
現在、とある別フレームワークで構築した旧システムをから、Laravelを利用したシステムへと移行しています。
DBのデータを移行する必要があり、バッチ処理を実装しなければいけないと考えていたのですが、Laravelにはシーディングという便利な機能があるみたいなので、早速トライします。
シーダーファイル作成
シーディングでは、まず処理を記述したシーダーファイルを用意します。
シーターファイルはartisanコマンドで作成することができます。例えば、ユーザ情報を移行する処理「UsersTableSeeder」を作成します。
> php artisan make:seeder UsersTableSeeder
コマンドを実行するとファイル「/database/seeds/UsersTableSeeder.php」が作成されます。内容は以下のとおりです。
use Illuminate\Database\Seeder; class UsersTableSeeder extends Seeder { public function run() { // } }
関数「run」の中に、データ移行に必要な処理を記述します。
今回の場合は、旧システムのDBからユーザ情報を取り出し、LaravelのDBにInsertするような処理を実装しますが、その詳細は割愛します。