開発ブログ

株式会社Nextatのスタッフがお送りする技術コラムメインのブログ。

電話でのお問合わせ 075-744-6842 ([月]-[金] 10:00〜17:00)

  1. top >
  2. 開発ブログ >
  3. PHP >
  4. フレームワークを使わないでmigrationの導入③
no-image

フレームワークを使わないで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オプションをつなげればできます。  
  • posted by Nextatスタッフ
  • PHP
TOPに戻る