CSVのテキストからLaravelのSeeder用コードを作る
CSVのテキストをLaravelのseeder、というか、クエリビルダに変換したかったのでツールを作った。
使い方
Table name
にはテーブル名を入れる。
(何も入れなかった場合はダミーの文字が入る)
CSV Format Text
にはカンマと改行区切りのCSVフォーマットのテキストを入力する。
convert
ボタンを押すと、その下のテキストエリアに出力結果が表示される。
CSVの仕様
- 項目ごとはカンマ区切り
- 行は改行区切り
- 行は以下の仕様
- 1行目 : 日本語項目名。変換後のコードには使用されません
- 2行目 : 項目名。キーとして使用されます
- 3行目以降 : インサートされる内容
Github
コードはGithubにあげた。
https://github.com/k-usk/laravel-csv-seeder
無駄にHeroku Buttonも付けたので自分の環境で動かしたいという人がいたらどうぞ。
説明
CSVを読み込んで整形してるだけなんでたいしたことはしてない。
CSVの整形には以下のライブラリを使用した。
その他
同じようなツールがないか調べたりはしたのだが、CSVをそのままSeederとして使えるものはいくつかあった。
後は、エクセルファイルをLaravelで扱うための便利パッケージとか。
エクセルを作ったりそのまま読み込めたりするよう。これはこれでかなり有用そう。
ただし今回はそこまでのツールではなく、また、アプリ本体にそういう機能は組み込みたくなかったため、別のツールとして作成した。