フレームワークを使わないでmigrationの導入③
こんにちは。
ニシザワです。
フレームワークを使わないでmigrationの導入シリーズ最終回です。
前回までの記事は以下です。
使うのはphinxのライブラリです。
後は、runメソッドの中に入れたいデータを入れていきます。
サンプル
最後にコマンドで下記の操作で完了です。
ニシザワです。
フレームワークを使わないでmigrationの導入シリーズ最終回です。
前回までの記事は以下です。
使うのはphinxのライブラリです。
Seederの作成
プロジェクトルートで
php vendor/bin/phinx seed:create UserSeeder
設定されたSeederディレクトリに下記のようなクラスが作成されます。
class UserSeeder extends AbstractSeed
{
public function run()
{
}
}
これで準備完了です。後は、runメソッドの中に入れたいデータを入れていきます。
サンプル
class UserSeeder extends AbstractSeed
{
public function run()
{
$data = [
[
'name' => '泉太郎',
'user_id' => 'taro_izumi',
'password' => 'onesho'
],
[
'name' => '稲田優希',
'user_id' => 'yuki_inada',
'password' => 'agoware'
]
];
$userRegistry = \Cake\ORM\TableRegistry::get('users');
$users = $userRegistry->newEntities($data);
$userRegistry->saveMany($users);
}
}
保存のところはCakeORMを使いましたが別のORMまたは独自でも問題ないです。最後にコマンドで下記の操作で完了です。
php vendor/bin/phinx seed:run -s UserSeeder
これで作成したテーブルに初期データを入れることができます。
おまけコマンド
複数実行したい場合は
php vendor/bin/phinx seed:run -s UserSeeder -s PermissionSeeder -s LogSeeder
みたいな感じでsオプションをつなげればできます。