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}