thinkPHP verwendet migrate, um die Datenbank zu migrieren

Freigeben: 2020-05-27 09:08:28
nach vorne
4077 Leute haben es durchsucht

thinkPHP verwendet migrate, um die Datenbank zu migrieren

thinkPHP-Datenbankmigrationstool: topthink/think-migration

1: Topthink/think-migration installieren

Beachten Sie hier, dass Sie topthink/You installieren Achten Sie bei think-migration auf Ihre thinkPHP-Version. Sie können also Version 2.0 von topthink/think-migration installieren. Wählen Sie die für Sie geeignete Version aus

composer require topthink/think-migration=2.0.*
Nach dem Login kopieren

Nachdem die Installation abgeschlossen ist, führen Sie Folgendes in der Befehlszeile aus:

php think
Nach dem Login kopieren

Das Folgende zeigt an, dass die Migration erfolgreich installiert wurde

thinkPHP verwendet migrate, um die Datenbank zu migrieren

Zweitens: Verwenden Sie topthink /think-migration zur Implementierung der Datenbankmigration

1: Erstellen Sie eine Migrationsklasse

Führen Sie

php think migrate:create CreateUser
Nach dem Login kopieren

in der Befehlszeile aus. Nachdem die Ausführung abgeschlossen ist, erstellen wir eine Migration Migrationsdatei

< im Verzeichnis ./database/migrateions 🎜>

thinkPHP verwendet migrate, um die Datenbank zu migrieren2: Datenbankmigration implementieren

[1]: Codebeschreibung migrieren:

Es gibt drei Methoden in migrate

up: in migrate: Wird beim Ausführen ausgeführt (vorausgesetzt, die Änderungsmethode ist nicht in der Datei vorhanden)

down: Wird ausgeführt, wenn migrate:rollback (vorausgesetzt, dass Die Änderungsmethode ist in der Datei nicht vorhanden)

change:migrate:run and migrate :Wird beim Rollback ausgeführt (wenn diese Methode vorhanden ist, werden Auf- und Abwärtsbewegungen nicht ausgeführt)

Im Normalfall Unter bestimmten Umständen lösche ich normalerweise die Änderungsmethode in der Migrationsdatei, und die Up-Methode platziert speziell die Operationen zum Hinzufügen und Aktualisieren von Tabellen. Die Down-Methode platziert die Löschtabellen- und Feldlöschoperationen

(1) Tabelle hinzufügen:

// create the table
$table = $this->table(&#39;user&#39;, [&#39;id&#39; => &#39;user_id&#39;, &#39;comment&#39; => &#39;用户表&#39;, &#39;engine&#39; => &#39;MyISAM&#39;, &#39;&#39;]);
$table->addColumn(&#39;user_name&#39;, &#39;string&#39;, [&#39;limit&#39; => 15, &#39;default&#39; => &#39;&#39;, &#39;comment&#39; => &#39;用户名&#39;])
    ->addColumn(&#39;password&#39;, &#39;string&#39;, [&#39;limit&#39; => 15, &#39;default&#39; => &#39;&#39;, &#39;comment&#39; => &#39;密码&#39;,])
    ->addColumn(&#39;status&#39;, &#39;boolean&#39;, [&#39;limit&#39; => 1, &#39;default&#39; => 0, &#39;comment&#39; => &#39;状态&#39;])
    ->addIndex([&#39;user_name&#39;], [&#39;unique&#39; => true])//为user_name创建索引并设置唯一(唯一索引)
    ->addTimestamps()//默认生成create_time和update_time两个字段
    ->create();
Nach dem Login kopieren

(2) Tabelle aktualisieren:

$this->table(&#39;user&#39;)
    ->addColumn(&#39;test&#39;, &#39;string&#39;, [&#39;limit&#39; => 15, &#39;default&#39; => &#39;&#39;, &#39;comment&#39; => &#39;测试&#39;])//在user表中增加一个test字段
    ->update();
Nach dem Login kopieren

(3) Tabelle löschen:

$this->table(&#39;user&#39;)->drop();
Nach dem Login kopieren

(4) Feld löschen

$this->table(&#39;user&#39;)
    ->removeColumn(&#39;test&#39;)//删除user表中的test字段
    ->save();
Nach dem Login kopieren

[2]: migrieren Befehl:

Es gibt drei häufig verwendete Befehle für die Migration, nämlich:

php think migrate:create CreateUser  #创建一个迁移类
php think migrate:run  #执行迁移
php think migrate:rollback #迁移回滚
Nach dem Login kopieren

Empfohlenes Tutorial: 《

TP5

Das obige ist der detaillierte Inhalt vonthinkPHP verwendet migrate, um die Datenbank zu migrieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage