背景
PHP PHP

フレームワークを使わないでmigrationの導入③

こんにちは。
ニシザワです。

フレームワークを使わないで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オプションをつなげればできます。  
≪ RustとIronでHello world!  |  Composerのインストーラのシグネチャを検証するDockerfileの書き方 ≫

Web制作のお問い合わせ

075-744-6842

(平日/土曜 10:00~17:00)

 お問い合わせ