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}