Diciamo che ho questo la struttura della tabella:Come aggiungere una nuova colonna con migrazioni Yii 2 su una posizione specifica in una tabella?
+----+------------+-----------+---------+------+---------+---------+---------------------+---------------------+
| id | first_name | last_name | country | city | address | zipcode | created | updated |
+----+------------+-----------+---------+------+---------+---------+---------------------+---------------------+
| 1 | Duvdevan | Duvdevani | NULL | NULL | NULL | NULL | 2016-02-12 15:37:19 | 2016-02-12 16:35:57 |
+----+------------+-----------+---------+------+---------+---------+---------------------+---------------------+
e voglio aggiungere una nuova colonna denominata email
, subito dopo id
e prima first_name
, utilizzando il addColumn
method della classe Migration
.
unica cosa che posso fare nella mia nuova migrazione è:
public function up()
{
$this->addColumn('contacts', 'email', $this->string(64));
}
E sarà messo alla fine del tavolo, dopo updated
campo.
Come posso aggiungere una colonna in una posizione specifica all'interno del mio tavolo, in modo da questa query SQL potrebbe essere rispettato:
ALTER TABLE contacts ADD email VARCHAR(64) AFTER id
Cerca di evitare di scaricare semplicemente un codice come risposta e provare a spiegare cosa fa e perché - in questo modo sarà più facile per un utente più recente imparare dalla tua risposta. – Frits
Inoltre, nota da quale versione è disponibile il metodo 'after'. (Dalla versione 2.0.8: http://www.yiiframework.com/news/97/yii-2-0-8-is-released/) – omerowitz