既存テーブルの全データを Seed ファイルに出力する方法
コマンド
1 |
bin/cake bake seed --data Categories |
出力
1 2 |
Creating file /var/www/html/config/Seeds/CategoriesSeed.php Wrote `/var/www/html/config/Seeds/CategoriesSeed.php` |
ファイル内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
<?php declare(strict_types=1); use Migrations\AbstractSeed; /** * Categories seed. */ class CategoriesSeed extends AbstractSeed { /** * Run Method. * * Write your database seeder using this method. * * More information on writing seeds is available here: * https://book.cakephp.org/phinx/0/en/seeding.html * * @return void */ public function run() { $data = [ [ 'id' => '1', 'name' => 'カテゴリー1', 'seq' => '10', 'note' => '備考1', 'created' => '2022-04-01 00:00:00', 'modified' => '2022-04-01 00:00:00', ], [ 'id' => '2', 'name' => 'カテゴリー2', 'seq' => '20', 'note' => '備考2', 'created' => '2022-04-01 00:00:00', 'modified' => '2022-04-01 00:00:00', ], [ 'id' => '3', 'name' => 'カテゴリー3', 'seq' => '30', 'note' => '備考3', 'created' => '2022-04-01 00:00:00', 'modified' => '2022-04-01 00:00:00', ], ]; $table = $this->table('categories'); $table->insert($data)->save(); } } |
1 2 3 |
File `\var\www\html\config\Seeds\CategoriesSeed.php` exists Do you want to overwrite? (y/n/a/q) [n] > |
上記コマンドを実行すると /config/Seeds/CategoriesSeed.php が作られます。
このファイルがある状態で、再度上記コマンドを実行すると上書きするかの確認が出力されます。
上書きする場合には、「y」を選択すると上書き保存されます。
seed : Seeding your database
Migrations - 3.x