Outil de migration de base de données Phinx

Description

Phinx permet aux développeurs de modifier et de maintenir facilement les bases de données. Il évite l'écriture manuelle de requêtes SQL, utilisant une API PHP puissante pour gérer les migrations de bases de données. Les développeurs peuvent gérer leurs migrations de base de données avec le contrôle de version. Phinx facilite également la migration de données entre différentes bases de données. Il suit également quels scripts de migration ont été exécutés, permettant aux développeurs de ne plus se préoccuper de l'état de la base de données et de se concentrer davantage sur la création de systèmes de meilleure qualité.

Adresse du projet

https://github.com/cakephp/phinx

Installation

  composer require robmorgan/phinx

Adresse de la documentation officielle en chinois

Pour une utilisation détaillée, vous pouvez consulter la documentation officielle en chinois, ici nous allons seulement expliquer comment le configurer et l'utiliser dans Webman.

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

Structure des fichiers de migration

.
├── app                           Répertoire de l'application
│   ├── controller                Répertoire des contrôleurs
│   │   └── Index.php             Contrôleur
│   ├── model                     Répertoire des modèles
......
├── database                      Fichiers de base de données
│   ├── migrations                Fichiers de migration
│   │   └── 20180426073606_create_user_table.php
│   ├── seeds                     Données de test
│   │   └── UserSeeder.php
......

Configuration de phinx.php

Créez le fichier phinx.php à la racine du projet

<?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"
        ]
    ]
];

Recommandations d'utilisation

Les fichiers de migration ne doivent pas être modifiés après la fusion du code. En cas de problème, un nouveau fichier d'opération de modification ou de suppression doit être créé pour le traiter.

Règles de nommage des fichiers d'opération de création de tables

{time(auto create)}_create_{nom de la table en minuscules}

Règles de nommage des fichiers d'opération de modification de tables

{time(auto create)}_modify_{nom de la table en minuscules + modification spécifique en minuscules}

Règles de nommage des fichiers d'opération de suppression de tables

{time(auto create)}_delete_{nom de la table en minuscules + modification spécifique en minuscules}

Règles de nommage des fichiers de remplissage de données

{time(auto create)}_fill_{nom de la table en minuscules + modification spécifique en minuscules}