Je veux stocker un article de blog dans une base de données. Je pensais que ce serait bien d'avoir différentes versions de ces données, un peu comme la vérification de la version pour les fichiers texte. P>
Alors, j'imagine que cela fonctionne comme une ligne dans une table, qui avait le contrôle de la version. Ainsi, par exemple, vous pouvez récupérer la dernière version de cette ligne ou une version précédente. Vous pouvez même brancher de cette rangée. P>
fait quelque chose comme ceci existe? P>
Peut-être des informations utiles: J'utilise actuellement Python, Django & MySQL. J'essaie d'expérimenter Mongodb P>
Modifier pour la clarté / plus de contexte: Je cherche une solution plus adaptée à la "version de contrôle" des lignes que des bases de données; Je ne suis pas tellement intéressé par la ramification des bases de données entières. Par exemple, je serais en mesure d'interroger le contenu de Blog Post au 1/1/2011 et au 1/1/2010 (sans commutation de bases de données). P>
3 Réponses :
La version de la version est un sujet compliqué; Le fait droit est vraiment difficile, ce qui est essentiellement pourquoi même en utilisant em> par exemple. git peut être difficile. Je ne voudrais pas écrire un système de contrôle de version rempli de version complète. Pour les exigences plus simples, considérez cette structure, dans Pseudo-MongoDB / JSON: P> Inconvénients: P> BlogPost {
"_id": ObjectId("..."),
"slug" : "how-to-version-my-posts",
"author" : "cammil",
"published" : date,
"lastModified" : date,
"publicVersion" : 32,
"draftVersion" : 34,
"teaserText" : "lorem ipsum dolor sit amet..."
}
BlogPostBody {
"_id" : ObjectId("..."),
"Version" : 32,
"Text" : "lorem ipsum dolor sit amet..."
}
max code> des requêtes du numéro de version pour les messages publics ou privés Li>
dernier édité code> aux numéros de version, qui pourrait ne pas être souhaitable li>
Datagramrove offscale vous permet de la version de votre DB entière. P>
Il suit toutes les modifications qui arrivent à la base de données et vous pouvez étiqueter des versions et passer en arrière entre eux. Datagramrove est unique dans le fait qu'elle envoie la version complète de la DB - schéma et données. P>
Dans votre exemple - Ajoutez simplement la ligne / Données que vous souhaitez utiliser la version DB et étiqueter une version. Vous serez toujours capable de revenir à cette version et même de la succursale. P>
De votre description, Datagramrove semble être plus orienté vers la ramification pour des bases de données entières que pour les lignes individuelles. (Voir Modifier)
Tout d'abord, je dois dire que c'est une question intéressante. P>
Dans ma ligne de travail, je dois enregistrer des versions de divers entrées utilisateur. La façon dont je le fais et, par tous, je ne sais pas vraiment si c'est la bonne façon ou non, est la suivante: p>
J'ai un Quel maître stocke-t-il les informations suivantes: p>
Qu'est-ce que Qu'est-ce que j'ai réalisé de cette façon, c'est que j'avais obtenu un identifiant de, disons un poteau de blog. Si quelqu'un édite le poteau, je vais stocker cette information à De cette façon, j'ai obtenu un système de version simple, mais puissant du contenu du site Web. Il est facile de voir des changements, et il est également extrêmement rapide d'obtenir des données si vous abusez des fonctionnalités de MySQL Cool (dans mes tables actuelles, j'abusente la clé primaire en clustere de InnoDB au maximum. La conception DB est donc légèrement diff. J'ai posté ici). P> maître code> table et
révisions code> table. J'ai choisi ces 2 noms pour l'exemple de l'exemple. P>
révisions code> est le suivant: p>
révisions code> table. Via des déclencheurs, je incrémente le
version_id code> dans
révisions code> table. Après cela, je mettez à jour la table code> Master code> avec le dernier numéro
version_id code>. De cette façon, je n'ai pas besoin d'exécuter
max () code> quand je veux voir quelle est la dernière version. P>
Pouvez-vous fournir des informations sur la manière dont les maîtres et la révision sont liés?
Avez-vous envisagé d'utiliser un système de contrôle de version comme Git? Serait intéressant de voir des avantages et des inconvénients d'une telle solution.
@milan - Depuis lors, lorsque la base de données de versions GIT enregistre b>?
La question ne dit pas N'importe quel enregistrement de base de données i>, il indique des poteaux de blog, qui sont principalement du texte, alors pourquoi pas?
Est-ce que cela répond à votre question? Comment contrôler une version dans une base de données