sql >> データベース >  >> RDS >> Mysql

phinxを使用してレコードを挿入するための移行を作成するにはどうすればよいですか?

    igrossiterが指摘したように、これにはメソッドがあり、メソッドの名前は insertです。

    use Phinx\Migration\AbstractMigration;
    
    class NewStatus extends AbstractMigration
    {
        protected $statusId = 1234; //It'd be nice to use an entity constant instead of magic numbers, but that's up to you.
        protected $statusName = 'In Progress';
    
        /**
        * Migrate Up.
        */
        public function up()
        {
            $columns = ['id', 'name'];
            $data = [[$this->statusId, $this->statusName]];
            $table = $this->table('status');
            $table->insert($columns, $data);
            $table->saveData();   
        }
    
        /**
        * Migrate Down.
        */
        public function down()
        {
            $this->execute('Delete from status where id = ' . $this->statusId);
        }
    }
    

    2015年12月2日現在の編集

    このメソッドのシグネチャは、将来の安定したバージョンで次のようなものに変更されます

    $data = [
        ['id' => 1, 'name' => 'foo'],
        ['id' => 2, 'name' => 'bar']
    ];
    $table = $this->table('status');
    $table->insert($data);
    

    詳細こちらの情報



    1. ローカル続編構成に環境変数を使用する

    2. MySQL 5.7.5+は、グループの最初の行を取得します

    3. MariaDB rootユーザーのパスワードとunix_socket認証を有効にしますか?

    4. 実際の例、SQLでOUTER /CROSSAPPLYを使用する場合