Base de données
Introduction
Pour stocker les données de vos clients et celles nécessaires au bon fonctionnement du CMS, CLIENTXCMS utilise le système relationnel MySQL. Une base de données est obligatoire (vierge ou non) pour contenir les tables nécessaires au bon fonctionnement du CMS. Le système PDO (PHP Data Objets) est utilisé pour intéragir avec la base. Il faut donc que l'extension MySQL ainsi que PDO soient installés sur votre hébergement WEB.
Connexion
Les informations de connection à la base sont demandées dans le .env
. Ce fichier ne doit pas être versionné par git. Voici un exemple
DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=clientx
DB_USER=root
DB_PASS=root
DB_CHARSET=utf8
Caractères Spéciaux
En cas de caractères spéciaux dans le mot de passe ou nom d'utilisateur pour l'accès à la base de données. Vous pouvez ajouter des doubles quotes ""
à votre chaine de caractères.
Tester la connection
Pour vérifier que la connexion entre CLIENTXCMS et MySQL est bien opérationnelle, ouvrez une page de CLIENTXCMS :
En cas d'échec, la page vous renvoie le message d'érreur :
Erreur de connexion à la base de données
.
Pour plus de détails, modifiez dans le fichier .env
la clé APP_ENV
à dev
.
Attention, les identifiants peuvent apparaitre sur la page. Mais ça peut vous aider à résoudre le problème.
.env.copy introuvable
Vous pouvez le recréer facilement avec l'exemple disponible ici
Migration
Pour gérer les migrations de la base de données (pour le développement ou la mise en production). ClientXCMS utilise phinx.org. Vous pouvez vous référer à leur documentation pour approfondir son fonctionnement.
Une interface visuelle est disponible sur Espace d'administration
> Base de données
Commandes importantes
-
Migrate
Cette commande permet de migrer les migrations manquantes.
./vendor/bin/phinx migrate
-
Create
Cette commande est importante en développement, elle permet de créer une migration.
./vendor/bin/phinx create PremièreMigration
-
Seed
Cette commande permet de remplir votre base avec des données prédéfinies ou générer dynamiquement via la librairie faker
./vendor/bin/phinx seed:run
ou
./vendor/bin/phinx seed:create PremierSeeding