そんな時に自分は、Excelのマクロを組んでバルクインサート文を作り、ローカルDBにデータを入れてからseedファイルを作りました。
環境
Windows 10
PHP ^7.2
Laravel ^6.0
Windows 10
PHP ^7.2
Laravel ^6.0
DBからseedファイルの作成
composer require --dev "orangehill/iseed"
上記コマンドを実行。しかし、メモリがなんちゃらと怒られるときがある。 PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223 Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223こんな感じで怒られたら
php -r "echo ini_get('memory_limit').PHP_EOL;"
で調べる。256Mとか出たらメモリが足らないのでiniファイルを修正。sudo vi /etc/php.ini
memory_limit = 256M の部分を変更memory_limit = -1 に変更。もう一回実行。
composer require --dev "orangehill/iseed"
成功したら256Mに戻してみる config/app.phpのproviders に以下を追記する。 Orangehill\Iseed\IseedServiceProvider::class
ここまでで準備は完了。DBにちゃんと繋げられる状態ならばiseedを実行する。 $ php artisan iseed テーブル名
実行し、seedファイルが生成されているのが確認できたらseedを実行してデータ投入が出来るか確認する。 php artisan --env=local db:seed --class=テーブル名Seeder
これでデータがちゃんと入っていたらとりあえず完了。
コメント