Migration Datenbank-Migrationswerkzeug Phinx

Erklärung

Phinx ermöglicht es Entwicklern, Datenbanken auf einfache Weise zu ändern und zu warten. Es vermeidet das manuelle Schreiben von SQL-Anweisungen und verwendet eine leistungsstarke PHP-API zur Verwaltung von Datenbankmigrationen. Entwickler können ihre Datenbankmigrationen mit Versionskontrolle verwalten. Phinx kann Daten zwischen verschiedenen Datenbanken einfach migrieren. Es kann auch verfolgen, welche Migrationskripte ausgeführt wurden, sodass Entwickler sich keine Sorgen mehr um den Zustand der Datenbank machen müssen und sich stattdessen darauf konzentrieren können, ein besseres System zu entwickeln.

Projektadresse

https://github.com/cakephp/phinx

Installation

composer require robmorgan/phinx

Offizielle chinesische Dokumentation

Für detailliertere Informationen können Sie die offizielle chinesische Dokumentation überprüfen. Hier wird nur erläutert, wie man es in webman konfiguriert und verwendet.

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

Verzeichnisstruktur der Migrationsdateien

.
├── app                           Anwendungsverzeichnis
│   ├── controller                Controller-Verzeichnis
│   │   └── Index.php             Controller
│   ├── model                     Modelverzeichnis
......
├── database                      Datenbankdateien
│   ├── migrations                Migrationsdateien
│   │   └── 20180426073606_create_user_table.php
│   ├── seeds                     Testdaten
│   │   └── UserSeeder.php
......

phinx.php Konfiguration

Erstellen Sie eine phinx.php-Datei im Stammverzeichnis des Projekts.

<?php
return [
    "paths" => [
        "migrations" => "database/migrations",
        "seeds"      => "database/seeds"
    ],
    "environments" => [
        "default_migration_table" => "phinxlog",
        "default_database"        => "dev",
        "default_environment"     => "dev",
        "dev" => [
            "adapter" => "DB_CONNECTION",
            "host"    => "DB_HOST",
            "name"    => "DB_DATABASE",
            "user"    => "DB_USERNAME",
            "pass"    => "DB_PASSWORD",
            "port"    => "DB_PORT",
            "charset" => "utf8"
        ]
    ]
];

Verwendungsempfehlung

Sobald die Migrationsdatei zusammengeführt wurde, darf sie nicht mehr geändert werden. Bei Problemen muss eine neue Änderung oder Löschoperation durchgeführt werden.

Benennungskonvention für Dateien zur Erstellung von Tabellen

{Zeit(automatisch erstellt)}_create_{kleingeschriebener Tabellenname auf Englisch}

Benennungskonvention für Dateien zur Änderung von Tabellen

{Zeit(automatisch erstellt)}_modify_{kleingeschriebener Tabellenname+kleines englisches zu änderndes Element}

Benennungskonvention für Dateien zum Löschen von Tabellen

{Zeit(automatisch erstellt)}_delete_{kleingeschriebener Tabellenname+kleines englisches zu löschendes Element}

Benennungskonvention für Datenbefüllungsdateien

{Zeit(automatisch erstellt)}_fill_{kleingeschriebener Tabellenname+kleines englisches zu änderndes Element}