Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erläuterung des Datenbankmigrationstools „migrate“ in thinkphp5

Ausführliche Erläuterung des Datenbankmigrationstools „migrate“ in thinkphp5

小云云
小云云Original
2018-05-21 11:23:085125Durchsuche

Tp5 unterscheidet sich stark von tp3.2

Migrate ist eine davon. Durch Migrate können Programmierer Datenbankmodifikations-Rollbacks und andere Vorgänge im PHP-Code erstellen.

Laden Sie zunächst die Migrate-Erweiterung herunter und führen Sie die Befehlszeile im aktuellen Projektverzeichnis aus

composer require topthink/think-migration

Sie können überprüfen, ob Migrate erfolgreich heruntergeladen wurde, indem Sie den PHP-Think-Befehl verwenden

Verwenden Sie „migrate:create migrate file name“ (Kamelbuchstabe in Großbuchstaben), um die Migrationsdatei in der Datenbank zu generieren.

Es ist möglich, dass die Erstellung fehlschlägt und Sie auffordert, dass keine Methode vorhanden ist . Im Allgemeinen ist die vom Composer erhaltene tp-Version zu niedrig. Erwägen Sie, die Migrationsversion in der Datei „composer.json“ auf 1.* oder ^1.0 zu ändern

in der Datenbank unter Anwendung. Konfigurieren Sie die Datenbank in PHP

Das Folgende ist der Inhalt einer der Migrationsdateien (nach der Erstellung gibt es eine Standardmethode, löschen Sie sie)

Einige der oben genannten Methoden, offiziell habe ich das angegebene Dokument nicht gesehen, war das, was Xiao Teng erklärt hat

Mit migrate: run werden alle up-Methoden ausgeführt von migrate.

 use think\migration\Migrator;
 use think\migration\db\Column;
 
 class CreateUserTable extends Migrator
 {
   
   /**
   * 建立用户表
   */
   public function up(){
     $table = $this->table('user');
     $table->addColumn('username' , 'string' , ['limit' => 30])
        ->addColumn('passwork' , 'string' , ['limit' => 32])
        ->addColumn('email' , 'string' , ['limit' => 25])
        ->addColumn('lastlogin_ip' , 'string' , ['limit' => 15])
        ->addTimestamps('create_time' , 'lastlogin_time')
        ->addColumn('status' , 'integer' , ['limit' => 1 , 'default' => 1])
        ->setId('user_id')
        ->save();
   }
   
   /**
   * 提供回滚的删除用户表方法
   */
   public function down(){
     $this->dropTable('user');
   }
 }
Sie können über migrate: rollback die zuletzt ausgeführte Migrationsdatei zurücksetzen (mit dem Parameter -t 0 zum Zurücksetzen aller)

Sie können den aktuellen Migrationsausführungsstatus über migrate überprüfen. Status

Nach dem Ausführen der Ausführungsmethode wurde die Benutzertabelle erfolgreich erstellt

Sehr praktisch

Verwandte Empfehlungen:

Microsoft führt ein MySQL-zu-SQL-Server-Datenbankmigrationstool ein

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Datenbankmigrationstools „migrate“ in thinkphp5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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