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}