Migration Datenbank-Migrationstool Phinx

Beschreibung

Phinx ermöglicht Entwicklern eine einfache Änderung und Wartung von Datenbanken. Es vermeidet manuelles Schreiben von SQL-Anweisungen und verwendet eine leistungsstarke PHP-API zur Verwaltung von Datenbankmigrationen. Entwickler können Versionierung verwenden, um ihre Datenbankmigrationen zu verwalten. Phinx ermöglicht einfache Datenmigrationen zwischen verschiedenen Datenbanken. Es kann auch nachverfolgen, welche Migrationsskripte ausgeführt wurden, sodass Entwickler sich keine Sorgen mehr um den Status der Datenbank machen müssen und sich mehr darauf konzentrieren können, ein besseres System zu erstellen.

Projektadresse

https://github.com/cakephp/phinx

Installation

  composer require robmorgan/phinx

Offizielle chinesische Dokumentationsadresse

Für detaillierte Anleitungen können Sie die offizielle chinesische Dokumentation einsehen, hier wird nur erklärt, wie man es in webman konfiguriert.

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

Verzeichnisstruktur der Migrationsdateien

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

phinx.php Konfiguration

Erstellen Sie die Datei phinx.php 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"
        ]
    ]
];

Nutzungshinweise

Nach dem Zusammenführen des Codes dürfen Migrationsdateien nicht mehr verändert werden. Bei Problemen müssen neue Änderungs- oder Löschoperationen erstellt werden.

Benennungsregeln für Erstellungsdateien von Datenbanktabellen

{time(auto create)}_create_{tabellenname_klein}

Benennungsregeln für Änderungsdateien von Datenbanktabellen

{time(auto create)}_modify_{tabellenname_klein+konkrete_änderung_klein}

Benennungsregeln für Löschdateien von Datenbanktabellen

{time(auto create)}_delete_{tabellenname_klein+konkrete_änderung_klein}

Benennungsregeln für Datenfüllungsdateien

{time(auto create)}_fill_{tabellenname_klein+konkrete_änderung_klein}