Utilisation du contrôle de version (Git) sur une base de données MySQL
Je suis un WordPress Concepteur/Développeur, qui devient de plus en plus fortement impliqués dans l'utilisation de contrôle de version, notamment Git, bien que je ne l'utilisation de SVN pour certains projets. Je suis actuellement en utilisant Beanstalk pour ma télécommande repo.
Ajouter tous les fichiers WordPress pour mon repo est pas un problème, si je le voulais je sais que je pourrais .gitignore le wp-config fichier, mais depuis que je suis le seul développeur, actuellement, et ces projets sont à code source fermé, il fait vraiment peu de sens.
WordPress s'appuie fortement sur la base de données, comme tout CMS ne, garder le contenu textuel, et de nombreux paramètres en fonction du plugin/configuration du thème que j'utilise. Je me demande quelle est la meilleure façon d'utiliser le contrôle de version de la base de données serait, si c'est encore possible. Je suppose que je pourrais faire un dump SQL, bien que mon serveur MySQL est en cours d'exécution sur Windows (lire: je ne sais pas comment faire), puis ajouter le dump SQL de mon référentiel. Mais lorsque que j'appuie sur quelque chose de vivant, qui pose d'énormes menaces à la sécurité.
Est-il une pratique acceptée de faire cela?
- J'ai un dump de la base de données et vérifier dans le contrôle de version. Mais je ne poussez pas sur le serveur sur WordPress projets (git n'est pas toujours disponible sur l'hébergement mutualisé). Donc généralement je les télécharger manuellement via FTP, aussi mauvais que ce qui est. Intéressé à entendre quelques bonnes pratiques lors de l'utilisation de git pour déployer.
- Aussi, vous pouvez garder la base de données de vérification dans un
develop
de la branche, et l'utilisation de la technique ici à exclure de la base de données de fusion enmaster
. Alors ne déployer qu'à partir demaster
. En théorie, cela devrait fonctionner. - J'ai fait un rapide google pour "Wordpress de Contrôle de Version" et de trouver cette liste de plugins WordPress: wordpress.org/extend/plugins/tags/version-control Serait tout de leur être utile?
- codinghorror.com/blog/2008/02/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez sauvegarder votre base de données dans un dépôt git. Bien sûr, si vous placez les données dans le dépôt git sous une forme binaire, vous perdez tous git la capacité de stocker efficacement les données à l'aide de diff (changements). Donc la meilleure pratique est ceci: stocker les données dans un texte sérialisés format.
mysqldump est un programme adapté pour vous aider à faire cela. Il n'est pas parfait cependant. Si quelque chose perturbe la sérialisation ordre des éléments (par exemple. comme résultat de créer de nouvelles tables, etc.) puis des pauses artificielles entrez dans le diff. Qui va diminuer l'efficacité du stockage. Vous pourriez écrire un personnalisé serialiser à serialise changements seulement-mais alors vous faites le travail dur que git est déjà bon. Suffit d'utiliser le dump sql.
Cela étant dit, ce que vous êtes désireux de le faire n'est pas ce que les devs normalement dire quand ils parlent de mettre la base de données dans le dépôt git. Par exemple, si vous lisez le lien posté par @eggyal ( lien vers codinghorror ), vous verrez que ce est en fait placé dans git sont les scripts nécessaires pour générer la base de données initiale. Il peut y avoir des scripts supplémentaires, comme ceux de remplir la base de données avec un état de propreté, ou de le remplir avec des données de test. Tous ces scripts sql sont des fichiers texte, et à peu près le même format que le dump sql de mysqldump. Donc il n'y a aucune raison que vous ne pouvez pas le faire de cette façon avec votre journée-à-jour des données aussi bien.
Il n'y a pas beaucoup de logiciels disponibles pour le contrôle de version des bases de données comme MySQL et MongoDB.
Mais l'un est en cours de développement et la version bêta est sur le point d'être lancé prochainement. Découvrez Klonio - Contrôle de Version pour les bases de données
L'article Comment Synchroniser Un Local & Distance de Blog WordPress à l'Aide de Contrôle de Version donne des conseils sur la façon d'automatiser la synchronisation entre les deux instances (développement, production) d'un blog WordPress à l'aide de Mercurial. Est mentionne que, pour ce scénario, Git et Mercurial sont très similaires.
L'étape 4 (Synchroniser Les Bases de données) est d'intérêt ici.
Ensuite, il donne des précisions sur les conflits et le script de l'emploi.
Il y a un contrôle de version tutoriel Mercurial là-bas, si vous n'êtes pas familier avec elle.
Être conscient que WordPress stocke toutes les news, contenu dans la base de données, de sorte que même si vous n'avez pas apporter des modifications, il y aura beaucoup de changement de contenu.