Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę napisać migracje, aby wstawić rekordy za pomocą phinx?

Jak zauważył igrossiter, istnieje na to metoda, nazwa metody to 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);
    }
}

Edytuj od 2 grudnia 2015 r.

Sygnatura tej metody zmieni się w przyszłych stabilnych wersjach na mniej więcej

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

Więcej informacje tutaj



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak szybko WYBRAĆ 3 losowe rekordy z 30-tysięcznej tabeli MySQL z filtrem where według pojedynczego zapytania?

  2. Transakcje Rails

  3. Zapytanie SUMA dla dwóch pól w dwóch różnych tabelach

  4. Błąd składni Railsów i MySQL z wieloma instrukcjami SQL w bloku wykonania

  5. Jak porównać dwa pola/kolumny w warunku?