Outil de migration de base de données Phinx
Description
Phinx permet aux développeurs de modifier et de maintenir facilement la base de données. Il évite l'écriture manuelle de requêtes SQL en utilisant une puissante API PHP pour gérer les migrations de base de données. Les développeurs peuvent utiliser le contrôle de version pour gérer leurs migrations de base de données. Phinx facilite la migration des données entre différentes bases de données. Il permet également de suivre quels scripts de migration ont été exécutés, ce qui permet aux développeurs de se concentrer davantage sur la manière d'écrire de meilleurs systèmes sans se soucier de l'état de la base de données.
Adresse du projet
https://github.com/cakephp/phinx
Installation
composer require robmorgan/phinx
Documentation officielle en chinois
Pour un guide détaillé, veuillez consulter la documentation officielle en chinois. Ici, nous allons uniquement expliquer comment configurer et utiliser Phinx avec 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 dans le répertoire 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
Une fois que les fichiers de migration ont été fusionnés, il n'est plus permis de les modifier. En cas de problème, il est nécessaire de créer un nouveau fichier de modification ou de suppression pour y remédier.
Règles de nommage des fichiers d'opérations de création de table
{time (créé automatiquement)}_create_{nom de table en minuscules}
Règles de nommage des fichiers d'opérations de modification de table
{time (créé automatiquement)}_modify_{nom de table en minuscules + élément de modification en minuscules}
Règles de nommage des fichiers d'opérations de suppression de table
{time (créé automatiquement)}_delete_{nom de table en minuscules + élément de modification en minuscules}
Règles de nommage des fichiers de remplissage de données
{time (créé automatiquement)}_fill_{nom de table en minuscules + élément de modification en minuscules}