Temps pour le lavage de cerveau RDBMS. :)
L'un des plus grands points de la conception sans schéma de couchdb vise directement à éviter les migrations. La représentation JSON des objets permet de simplement taper vos objets. Par exemple, étant donné que vous avez une application Web de type blog avec des messages et tout ce que les gens peuvent stocker dans un blog. Vos documents postaux ont des champs comme auteur, titre, créé à, etc. Maintenant vous venez et réfléchissez à vous-même, "Je devrais suivre la phase dans laquelle se trouve la lune lorsque je publie mes messages ..." vous pouvez commencer à ajouter moon_phase comme un attribut aux nouveaux messages. Si vous voulez être complet, vous pouvez revenir en arrière et ajouter moon_phase aux anciens messages, mais ce n'est pas strictement nécessaire.
Dans vos vues, vous pouvez accéder à moon_phase en tant qu'attribut. Et ce sera nul ou provoquera une exception ou quelque chose. (Pas un expert JS, je pense que nul est la bonne réponse)
Chose est, cela n'a pas vraiment d'importance. Si vous avez envie de changer quelque chose, changez-le. Cependant, assurez-vous que vos opinions comprennent ce changement. Ce qui dans mon expérience ne nécessite pas vraiment beaucoup.
Aussi, si vous êtes vraiment paranoïaque, vous pouvez stocker un attribut de version/type comme dans:
{
_id: "foo-post",
_rev: "23490AD",
type: "post",
typevers: 0,
moon_phase: "full"
}
espoir qui aide.
On dirait qu'activecouch est maintenant sur GitHub - http://github.com/arunthampi/activecouch/tree/master – Evan