Est-il possible de supprimer toutes les données d'une base de données pendant que RavenDB est en cours d'exécution, hébergeant d'autres bases de données? Dans un environnement de production où RavenDB héberge plusieurs bases de données pour différents clients, il n'est pas acceptable d'arrêter RavenDB afin de supprimer les données d'une base de données unique. Serait-il nécessaire de développer un outil personnalisé, à supprimer des documents individuellement pour y parvenir?Supprimer une seule base de données ravendb pendant que ravendb héberge d'autres bases de données
Répondre
Si vous supprimez le document qui décrit la base de données, vous en avez empêché l'accès. RavenDB ne fournit pas un moyen de supprimer réellement la base de données, mais la base de données serait arrêtée si vous supprimez le document qui le décrit. Vous pouvez ensuite supprimer le répertoire de la base de données ou le sauvegarder en fonction de vos besoins.
Je veux mettre à jour votre solution, qui est la seule solution pour "supprimer" une base de données.
Actuellement dans la nouvelle version (2.0) de RavenDB, qui sont encore instables, vous pouvez supprimer une base de données avec la nouvelle version du studio.
Vous pouvez le télécharger ici: http://hibernatingrhinos.com/builds/ravendb-unstable-v2.0/
J'espère que cette aide vous Aditionally à la Ayende bonne réponse.
Best, Dario
Dans la version 2.0.3 (peut-être même dans les versions antérieures) le studio appelle le suivant http point final afin de supprimer une base de données:
/admin/bases de données/nameOfYourDatabase? hard-delete = true
? hard-delete = true est facultatif.
Basé sur le code source du studio, j'ai créé cette fonction:
public void DeleteDatabase(string name, bool hardDelete = false)
{
if (string.IsNullOrEmpty(name))
throw new ArgumentNullException("name");
var databaseCommands = _documentStore.DatabaseCommands;
var relativeUrl = "/admin/databases/" + name;
if (hardDelete)
relativeUrl += "?hard-delete=true";
var serverClient = databaseCommands.ForSystemDatabase() as ServerClient;
if (serverClient == null)
throw new ApplicationException("Please use a more intelligent exception here");
var httpJsonRequest = serverClient.CreateRequest("DELETE", relativeUrl);
httpJsonRequest.ExecuteRequest();
}
- 1. Créer base de données RavenDB à Appharbor
- 2. Comment supprimer une base de données RavenDB avec Raven.Client.Lightweight
- 3. Base de données relationnelle Supprimer le concept dans RavenDB
- 4. Modélisation de données RavenDB
- 5. base de données ravendb avec compression ntfs
- 6. RavenDB progmatically vide la base de données
- 7. Supprimer la collection RavenDB
- 8. RavenDB: accès à l'instance de base de données pendant la conversion de document
- 9. RavenDB - Planification de l'évolutivité
- 10. Parcourir Embedded dans Windows Form Base de données RavenDb
- 11. Comment optimiser les données de type "suivi d'utilisateur" dans une base de données NoSQL comme RavenDB?
- 12. Structure de données d'index pour RavenDB
- 13. Mapper/Réduire les données surimprimées avec RavenDB
- 14. Extension de RavenDB AuthenticationUser
- 15. Recherche de conseils sur la base de données .NET intégrée (telle que db4o, NHibernate ou RavenDB)
- 16. RavenDB recherche plein texte
- 17. RavenDB: assez efficace?
- 18. Tests de l'interface utilisateur avec RavenDB
- 19. Modélisation Question pour RavenDB (ou d'autres bases de données orientées doc)
- 20. Obtenir des données JSON à partir de RavenDB
- 21. RavenDB carte à plusieurs
- 22. Remplacement de la base de données existante dans Ravendb/preuve de concept
- 23. Affectation d'ID personnalisée RavenDb
- 24. RavenDB ForEach ExtensionMethod
- 25. RavenDB: Synchroniser des documents dans la base de données avec des données provenant d'une source externe
- 26. Chemin d'accès temporaire déjà utilisé par une autre instance de base de données RavenDB MVC3
- 27. RavenDB lente lecture
- 28. C# RavenDB embedded optimize
- 29. RavenDB Management Studio - Supprimer le document
- 30. Problème de déploiement de RavenDB
Je ne suis pas sûr, si je vous ai droit. Je peux supprimer le document de description et après, RavenDB va supprimer ses verrous sur les fichiers de base de données associés, et je serai en mesure de supprimer le fichier de base de données manuellement alors? –
Oui, c'est fondamentalement comment cela fonctionne. –
Comment supprimer le document qui décrit la base de données? Y a-t-il de la documentation pour ça quelque part? – Mike