yii2 - wie truncate eine Tabelle aus der Konsole
Habe ich einen Befehl console und ich brauche das abschneiden einer Tabelle.
Dem Lesen der Klassen-Referenz: http://www.yiiframework.com/doc-2.0/yii-db-command.html#truncateTable()-detail ich bin nicht in der Lage zu verstehen, was Dateien, die ich brauchen, um diesen Befehl auszuführen.
Bin ich mit:
use yii\db\Command;
use yii\db\Connection;
aber nicht sicher, welches der richtige ist.
Und ich habe versucht auszuführen:
$command = Yii::$app->db->truncateTable('user');
gibt mir die folgende Fehlermeldung:
Ausnahme 'yii\base\UnknownMethodException' mit der Meldung 'unbekannte Methode Aufrufen: yii\db\Connection::truncateTable()'
und:
Yii::$connection->createCommand()->truncateTable('user');
gibt mir die folgende Fehlermeldung:
PHP Fatal Error 'yii\base\ErrorException" mit Meldung "Zugriff auf nicht deklarierte statische Konstanteneigenschaft: Yii::$Verbindung'
Ich verstehe wirklich nicht, was ich tun muss.
Du musst angemeldet sein, um einen Kommentar abzugeben.
$app
es ist eine Anwendung singletone-Objekt. In der Konfiguration können Sie sehen, dasscomponents
Konfiguration habendb
Komponente. Ich habe nicht gemeint, dass Sie kann der Zugriff auf die Komponente in dieser Art und Weise:Yii::$app->db
. Und als Nächstes verwenden nur Komponenten-Methoden (in Ihrem Fall ist esyii\db\Connection
).Verwendung von yii2 migrieren, die default-Funktion
yii2 migrieren
Schritt 1. Erstellen Sie eine Migration
yii migrate/create truncate_table_xxx
Step2. Bearbeiten Sie die Datei
xxx_truncate_table_xxx
Einige Sache wie das
Yii::$app->db->createCommand()->truncateTable('user')->execute();
Alternativ kann man verwenden:
vorausgesetzt
User
aktiv ist model-Klasse.Dieser Befehl zeigt die Anzahl der gelöschten Datensätze.
Beachten Sie, dass im Gegensatz zu
truncate
löschen aller Datensätze wird NICHT zurückgesetzt autoincrement-Zähler zu1
.