Migración de herramientas de bases de datos Phinx

Descripción

Phinx permite a los desarrolladores modificar y mantener bases de datos de forma sencilla. Evita la escritura manual de declaraciones SQL, utilizando una potente API de PHP para gestionar las migraciones de bases de datos. Los desarrolladores pueden utilizar el control de versiones para gestionar sus migraciones. Phinx facilita la migración de datos entre diferentes bases de datos. También puede rastrear qué scripts de migración han sido ejecutados, permitiendo a los desarrolladores no preocuparse por el estado de la base de datos y centrarse más en cómo crear un mejor sistema.

Dirección del proyecto

https://github.com/cakephp/phinx

Instalación

  composer require robmorgan/phinx

Dirección de la documentación oficial en chino

Para un uso detallado, puedes consultar la documentación oficial en chino. Aquí solo se explicará cómo configurarlo en webman.

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

Estructura del directorio de archivos de migración

.
├── app                           Directorio de la aplicación
│   ├── controller                Directorio de controladores
│   │   └── Index.php             Controlador
│   ├── model                     Directorio de modelos
......
├── database                      Archivos de base de datos
│   ├── migrations                Archivos de migración
│   │   └── 20180426073606_create_user_table.php
│   ├── seeds                     Datos de prueba
│   │   └── UserSeeder.php
......

Configuración de phinx.php

Crea un archivo phinx.php en el directorio raíz del proyecto.

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

Recomendaciones de uso

Una vez que los archivos de migración han sido fusionados, no se permite modificarlos de nuevo. Si hay problemas, se deben crear nuevos archivos de operación de modificación o eliminación para resolverlos.

Reglas de nomenclatura para archivos de operación de creación de tablas

{time(auto create)}_create_{nombre de la tabla en minúsculas}

Reglas de nomenclatura para archivos de operación de modificación de tablas

{time(auto create)}_modify_{nombre de la tabla en minúsculas + elementos específicos de modificación en minúsculas}

Reglas de nomenclatura para archivos de operación de eliminación de tablas

{time(auto create)}_delete_{nombre de la tabla en minúsculas + elementos específicos de modificación en minúsculas}

Reglas de nomenclatura para archivos de llenado de datos

{time(auto create)}_fill_{nombre de la tabla en minúsculas + elementos específicos de modificación en minúsculas}