Heim  >  Artikel  >  Backend-Entwicklung  >  Erfahren Sie, wie Sie das PHP-Datenbankmigrationstool „Phinx“ verwenden.

Erfahren Sie, wie Sie das PHP-Datenbankmigrationstool „Phinx“ verwenden.

WBOY
WBOYnach vorne
2022-02-17 10:49:165856Durchsuche

Dieser Artikel vermittelt Ihnen das relevante Wissen über Phinx, das Datenbankmigrationstool in der PHPVerarbeitung. Phinx eignet sich besonders für Entwicklung, Tests, Online-Datenbanksynchronisierungsfeldinformationen, Dateninformationen, Generierung und Synchronisierung von Testdaten usw. Ich hoffe, dass es für alle von Nutzen sein wird.

Erfahren Sie, wie Sie das PHP-Datenbankmigrationstool „Phinx“ verwenden.

Dokumentadresse: https://tsy12321.gitbooks.io/phinx-doc/content

1. Installieren Sie

composer require nhzex/think-phinx

2. Führen Sie

php vendor/bin/phinx
aus

PHP Vendor/ direkt ausführen bin/phinx init kann die Konfigurationsdatei generieren

Eine andere Methode besteht darin, die PHP-Datei direkt zu verwenden, um die Konfigurationsdatei zu erstellen PHP-Datei zum Erstellen der Konfigurationsdatei

3. Verwenden Sie phinx.php, um

<?php
$config = array(
    &#39;DB_HOST&#39; => &#39;localhost&#39;,
    &#39;DB_NAME&#39; => &#39;root&#39;,
    &#39;DB_USER&#39; => &#39;root&#39;,
    &#39;DB_PWD&#39; => &#39;&#39;,
);
$settings = $config;
#phinx.php
<?php
require &#39;db_config.php&#39;;
return array(
    "paths" => array(
        "migrations"    => "db/migrations",
        "seeds"         => "db/seeds"
    ),
    "environments"   => array(
        "defaut_migration_table"    => "phinxlog",
        "default_database"          => "lleg",
        "default_environment"       => "development"
        "production"   => array(
            "adapter"   => "mysql",
            "host"      => $settings["DB_HOST"],
            "name"      => $settings["DB_NAME"],
            "user"      => $settings["DB_USER"],
            "pass"      => $settings["DB_PWD"],
            "port"      => 3306,
            "charset"   => "utf8"
        ),
        "development"   => array(
            "adapter"   => "mysql",
            "host"      => $settings["DB_HOST"],
            "name"      => $settings["DB_NAME"],
            "user"      => $settings["DB_USER"],
            "pass"      => $settings["DB_PWD"],
            "port"      => 3306,
            "charset"   => "utf8"
        )
    )
);
4. Führen Sie den PHP-Anbieter/bin/phinx-Status aus, um den Verbindungsstatus anzuzeigen

5 php seller/bin/phinx create migration

6. Erstellt /db/migrations/20180310020523_migration.php wird jetzt generiert

Diese Datei bearbeiten und Datenbankerstellungsinhalt hinzufügen.

public function change() {
        $user = $this->table(&#39;user&#39;);
        $user->addColumn(&#39;open_id&#39;, &#39;string&#39;, [&#39;limit&#39;=>64]);
        $user->addColumn(&#39;register_time&#39;, &#39;timestamp&#39;, [&#39;default&#39; => &#39;CURRENT_TIMESTAMP&#39;]);
        $user->addColumn(&#39;favorite_music&#39;, &#39;integer&#39;, [&#39;default&#39;=> 0, &#39;comment&#39;=>&#39;喜欢的音乐&#39;]);
        $user->addColumn(&#39;favorite_vedio&#39;, &#39;integer&#39;, [&#39;default&#39;=> 0, &#39;comment&#39;=>&#39;喜欢的视频数&#39;]);
        $user->addColumn(&#39;favorite_article&#39;, &#39;integer&#39;, [&#39;default&#39;=> 0, &#39;comment&#39;=>&#39;喜欢的文章数&#39;]);
        $user->addColumn(&#39;baby_birthday&#39;, &#39;date&#39;, [&#39;null&#39;=>true, &#39;comment&#39;=>&#39;宝宝生日&#39;]);
        $user->addColumn(&#39;baby_sex&#39;, &#39;boolean&#39;, [&#39;null&#39;=>true, &#39;comment&#39;=>&#39;宝宝性别&#39;]);
        $user->addColumn(&#39;last_login&#39;, &#39;datetime&#39;, [&#39;null&#39;=>true, &#39;comment&#39;=>&#39;最后登陆日期&#39;]);
        $user->save();
    }

7 , eine automatisch inkrementierte ID wird als Primärschlüssel hinzugefügt Das System erstellt automatisch die erstellte Datei ./db/seeds/CategorySeeder.php

9. Ändern Sie CategorySeeder.php

Führen Sie php seller/bin/phinx seeds:run aus und alle Seeds werden ausgeführt

10. Wenn Sie den angegebenen Seed ausführen möchten, müssen Sie ihn mit dem Parameter -s angeben Sie müssen die Tabellenstruktur aktualisieren, Sie müssen eine weitere Migration erstellenFühren Sie PHP Vendor/Bin/Phinx aus und erstellen Sie ChangeArtist. phinx migrate

Die zuvor ausgeführte Migration wird nicht ausgeführt, sondern nur der aktualisierte Teil. 12. Rollback Daten usw., daher eignet es sich besonders für den Einsatz im Teamentwicklungsprozess, insbesondere für ein neues Projekt. Solange Sie zu Beginn des Projekts darauf bestehen, phinx für die unabhängige Bereitstellung zu verwenden, dann jedes Mal, wenn Sie die Datenbanktabelle ändern Informationen können Teammitglieder verwenden git oder svn Methode synchronisiert den Code und führt dann den oben genannten Ausführungsbefehl aus, um die Bibliothekstabelleninformationen zu synchronisieren, wodurch die Mühe und Fehler beim Synchronisieren von Bibliothekstabelleninformationen in verschiedenen Entwicklungsumgebungen während der herkömmlichen Entwicklung vermieden werden.

In phinx.php gibt es ein Konfigurationselement „default_migration_table“ => „phinxlog“. Dies ist auch eine Maßnahme, um sicherzustellen, dass sie nicht wiederholt ausgeführt werden, sodass kein Grund zur Sorge besteht, dass sie verloren gehen oder sich wiederholen die Ausführung des Befehls.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie das PHP-Datenbankmigrationstool „Phinx“ verwenden.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:Laravel技术社区公众号. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen