Heim > Artikel > PHP-Framework > 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.*Nachdem die Installation abgeschlossen ist, führen Sie Folgendes in der Befehlszeile aus:
php thinkDas Folgende zeigt an, dass die Migration erfolgreich installiert wurde Zweitens: Verwenden Sie topthink /think-migration zur Implementierung der Datenbankmigration1: Erstellen Sie eine Migrationsklasse Führen Sie
php think migrate:create CreateUserin der Befehlszeile aus. Nachdem die Ausführung abgeschlossen ist, erstellen wir eine Migration Migrationsdatei
2: 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('user', ['id' => 'user_id', 'comment' => '用户表', 'engine' => 'MyISAM', '']); $table->addColumn('user_name', 'string', ['limit' => 15, 'default' => '', 'comment' => '用户名']) ->addColumn('password', 'string', ['limit' => 15, 'default' => '', 'comment' => '密码',]) ->addColumn('status', 'boolean', ['limit' => 1, 'default' => 0, 'comment' => '状态']) ->addIndex(['user_name'], ['unique' => true])//为user_name创建索引并设置唯一(唯一索引) ->addTimestamps()//默认生成create_time和update_time两个字段 ->create();
(2) Tabelle aktualisieren:
$this->table('user') ->addColumn('test', 'string', ['limit' => 15, 'default' => '', 'comment' => '测试'])//在user表中增加一个test字段 ->update();
(3) Tabelle löschen:
$this->table('user')->drop();
(4) Feld löschen
$this->table('user') ->removeColumn('test')//删除user表中的test字段 ->save();
[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 #迁移回滚
Empfohlenes Tutorial: 《
TP5Das 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!