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}