Je poste cette question parce que je voudrais savoir quel est le meilleur workflow de développement pour quelqu'un qui veut gérer tous les aspects d'une boutique en ligne.
Comme pour tout développement Web, il est bien sûr très important d'avoir une copie en direct et au moins une copie de développement de l'ensemble de la solution logicielle. Cependant, gérer des trucs Magento n'est pas comme gérer d'autres logiciels "basés sur des fichiers" car il y a aussi un composant de base de données qui entre en jeu, donc, en plus du fait que je peux utiliser un outil comme Git comme outil VCS pour le contrôle de source, comment -Je gérer les différences dans la base de données entre les versions live et développement?
Je pourrais bien sûr faire des sauvegardes de la base de données en direct via cron et insérer les instructions SQL INSERT de la sauvegarde dans le contrôle de source, mais après cela, deux bases de données évolueront séparément pendant que les clients s'enregistreront et passeront des commandes d'une main qui iront dans la base de données en direct, et car les mises à jour sont apportées à la base de données de développement séparément. Quand il s'agira de fusionner le développement et les versions live, les fichiers php peuvent être mis à jour sans problème via git (en utilisant gitignore sur le fichier unique qui héberge les détails de configuration de la base de données), mais qu'en est-il des fichiers de base de données? Comment puis-je fusionner les deux fichiers contenant les instructions INSERT SQL des deux sauvegardes sans provoquer de catastrophe et détruire le système?
C'est la zone d'ombre du cycle de vie du développement Magento à laquelle je suis confronté: la gestion des différences de base de données.
Il me semble, comme la seule solution pour synchroniser le contenu de la base de données qui diffère entre le développement / test et les versions en direct de la boutique Magento est d'écrire sur un morceau de papier toutes les modifications apportées dans la version de développement via le panneau d'administration Magento, et espérons ne faire aucune erreur, puis une fois que tout est testé et fonctionne, pour passer à la version live et effectuer ces mêmes changements pendant que Magento est mis hors ligne et est mis en mode maintenance. Puisqu'il s'agit d'un processus manuel, est-il sujet à erreur.
Alors, quelle est la meilleure façon de gérer la synchronisation de la base de données entre le serveur magento de test et le serveur magento en direct?
Merci.