Strumento di migrazione del database Phinx
Descrizione
Phinx consente agli sviluppatori di modificare e mantenere il database in modo semplice. Evita l'uso di istruzioni SQL scritte a mano, utilizzando una potente API PHP per gestire le migrazioni del database. Gli sviluppatori possono gestire le loro migrazioni del database tramite il controllo di versione. Phinx facilita la migrazione dei dati tra diversi database. Può anche tenere traccia degli script di migrazione eseguiti, consentendo agli sviluppatori di non doversi preoccupare dello stato del database e di concentrarsi maggiormente sul modo di scrivere un sistema migliore.
Indirizzo del progetto
https://github.com/cakephp/phinx
Installazione
composer require robmorgan/phinx
Indirizzo della documentazione ufficiale in cinese
Per un utilizzo dettagliato, puoi consultare la documentazione ufficiale in cinese. Qui verrà trattato solo come configurare e utilizzare in webman.
https://tsy12321.gitbooks.io/phinx-doc/content/
Struttura della directory dei file di migrazione
.
├── app Directory dell'applicazione
│ ├── controller Directory dei controller
│ │ └── Index.php Controller
│ ├── model Directory dei modelli
......
├── database File del database
│ ├── migrations File di migrazione
│ │ └── 20180426073606_create_user_table.php
│ ├── seeds Dati di test
│ │ └── UserSeeder.php
......
Configurazione di phinx.php
Creare un file phinx.php nella directory principale del progetto.
<?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"
]
]
];
Suggerimenti per l'uso
Una volta che il file di migrazione è stato unito nel codice, non è consentita alcuna modifica. In caso di problemi, è necessario creare un nuovo file di modifica o un file di cancellazione per gestire la situazione.
Regole di denominazione per i file delle operazioni di creazione delle tabelle
{time(auto create)}_create_{nome_tabella_in_lowercase}
Regole di denominazione per i file delle operazioni di modifica delle tabelle
{time(auto create)}_modify_{nome_tabella_in_lowercase+specifiche_modifiche_in_lowercase}
Regole di denominazione per i file delle operazioni di cancellazione delle tabelle
{time(auto create)}_delete_{nome_tabella_in_lowercase+specifiche_modifiche_in_lowercase}
Regole di denominazione per i file di riempimento dati
{time(auto create)}_fill_{nome_tabella_in_lowercase+specifiche_modifiche_in_lowercase}