Herramienta de migración de base de datos Phinx
Descripción
Phinx permite a los desarrolladores modificar y mantener la base de datos de forma concisa. Evita la escritura manual de declaraciones SQL, utilizando una potente API de PHP para gestionar la migración de la base de datos. Los desarrolladores pueden utilizar el control de versiones para gestionar sus migraciones de base de datos. Phinx facilita la migración de datos entre bases de datos diferentes. También puede rastrear qué scripts de migración se han ejecutado, permitiendo a los desarrolladores centrarse en cómo escribir sistemas de mejor calidad en lugar de preocuparse por el estado de la base de datos.
Dirección del Proyecto
https://github.com/cakephp/phinx
Instalación
composer require robmorgan/phinx
Documentación Oficial en Chino
Para obtener información detallada, consulte la documentación oficial en chino. Aquí solo se explica cómo configurar y usar en webman.
https://tsy12321.gitbooks.io/phinx-doc/content/
Estructura de Directorios 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 la base de datos
│ ├── migrations Archivos de migración
│ │ └── 20180426073606_create_user_table.php
│ ├── seeds Datos de prueba
│ │ └── UserSeeder.php
......
Configuración phinx.php
Cree 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"
]
]
];
Sugerencias de Uso
Una vez fusionado el código de los archivos de migración, no se permite modificarlos nuevamente. Si surge algún problema, se debe crear un nuevo archivo de operación o eliminarlo.
Reglas de Nomenclatura de Archivos de Operaciones para Crear Tablas
{tiempo(creado automáticamente)}_create_{nombre de tabla en minúsculas en inglés}
Reglas de Nomenclatura de Archivos de Operaciones para Modificar Tablas
{tiempo(creado automáticamente)}_modify_{nombre de tabla en minúsculas en inglés + elemento específico a modificar en minúsculas en inglés}
Reglas de Nomenclatura de Archivos de Operaciones para Eliminar Tablas
{tiempo(creado automáticamente)}_delete_{nombre de tabla en minúsculas en inglés + elemento específico a modificar en minúsculas en inglés}
Reglas de Nomenclatura de Archivos de Rellenar Datos
{tiempo(creado automáticamente)}_fill_{nombre de tabla en minúsculas en inglés + elemento específico a modificar en minúsculas en inglés}