Lassen Sie uns sagen, dass ich diese Tabelle Struktur:Wie füge ich eine neue Spalte mit Yii 2 Migrationen an einer bestimmten Position in einer Tabelle hinzu?
+----+------------+-----------+---------+------+---------+---------+---------------------+---------------------+
| 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 |
+----+------------+-----------+---------+------+---------+---------+---------------------+---------------------+
Und ich möchte eine neue Spalte email
, kurz nach id
und vor first_name
, mit dem addColumn
method der Migration
Klasse aufgerufen hinzuzufügen.
Das Einzige, was ich in meiner neuen Migration tun kann, ist:
public function up()
{
$this->addColumn('contacts', 'email', $this->string(64));
}
Und es wird es auch am Ende der Tabelle setzen, nach updated
Feld.
Wie kann ich eine Spalte an einer bestimmten Position innerhalb meiner Tabelle hinzufügen, so dass diese SQL-Abfrage beachtet werden:
ALTER TABLE contacts ADD email VARCHAR(64) AFTER id
Bitte versuchen Sie zu vermeiden, dass Sie einfach einen Code als Antwort ausgeben und versuchen Sie zu erklären, was er tut und warum - auf diese Weise wird es für einen neueren Benutzer leichter sein, aus Ihrer Antwort zu lernen. – Frits
Beachten Sie auch, aus welcher Version die 'after' Methode verfügbar ist. (Von 2.0.8: http://www.yiiframework.com/news/97/yii-2-0-8-is-released/) – omerowitz