Excelでseederのデータを作成する方法

Excelでseederのデータを作成する方法

Excelでseederのデータを作成する方法

順調にシステムが組みあがってくると自分の意図した動きとなるか確認のためにSQLにデータが必要になります。
テストデータや実データを入れるわけですが、この時に使えるのがSeeder。
私は自分も使うプログラムを組んでいるのでフェイクデータの必要はないのでSeeder一択です。

商品情報だけでもかなりの量があるので1個づつ手打ちするのは無理。
となれば、Excelのデータをテーブルの形にまとめてSeeder作れないかなと模索します。

 Seederに入れるのは所詮テキストデータ

結局はテキストデータで書くわけですから、文字列合成してしまえば簡単です。

$param = [
‘shop_id’ =>’0′,
‘item_id’ =>’5453′,
‘namae’ =>’エンボスフライパン’,
‘text’ =>’エンボス加工’,
‘created_at’ =>’2018-01-11 12:37′,
‘updated_at’ =>’2018-01-11 12:37′
];
DB::table(‘itemphrases’)->insert($param);

1行ごとに上記の様なテキスト情報を作成してしまえば一気にDBに情報を流し込めます。

Seeder作成に使うExcel関数

使う関数は1つだけ【&】です。

例えば、こんなExcelテーブルがあったとします。

A B C D E F G
1 shop_id item_id name text created_at updated_at
2 0 5453 エンボスフライパン エンボス加工 2018-01-11 12:37 2018-01-11 12:37

G列の2行目以降にこんな式を書き込みます。

=”$param = [‘”&A$1&”‘ =>'”&A2&”,'”&B$1&”‘ =>'”&B2&”‘,'”&C$1&”‘ =>'”&C2&”‘,'”&D$1&”‘ =>'”&D2&”‘,'”&E$1&”‘ =>'”&E2&”‘,'”&F$1&”‘ =>'”&F2&”‘,'”&G$1&”‘ =>'”&G2&”‘];DB::table(‘itemphrases’)->insert($param);”

※Seederの書き方については其々のフレームワークの形に直して読んでください。

この式を2行目に記載し、後はレコードのお尻までコピーしてあげればSeederの元が出来ます。
後は目的のシーダーにコピペして実行すれば簡単にデータが格納できます。

いやぁ便利。

まとめ

Excelさんって重くて使いにくいけど、こういう時に頼りになるのもやっぱりExcelさん。

手放せませんね。