Удалите одну базу данных ravendb, в то время как ravendb работает с хостингом других баз данных

Есть ли способ удалить все данные в одной базе данных, пока RavenDB все еще работает, размещая другие базы данных?

В рабочей среде с RavenDB, где размещаются несколько баз данных для разных клиентов, недопустимо останавливать RavenDB для удаления данных из одной базы данных. Нужно ли настраивать инструмент самостоятельно, чтобы удалить отдельные документы для этого?

Ответ 1

Если вы удалите документ, описывающий базу данных, то вы заблокировали доступ к нему. RavenDB не предоставляет способ фактического удаления базы данных, но база данных будет отключена, если вы удалите документ, описывающий ее. Затем вы можете удалить каталог базы данных или выполнить резервное копирование в соответствии с вашими потребностями.

Ответ 2

В версии 2.0.3 (возможно, даже в предыдущих выпусках) студия вызывает следующую конечную точку http для удаления базы данных:

/администратор/базы данных /nameOfYourDatabase? Трудно удалить = True
? hard-delete = true необязательно.

Основываясь на исходном коде студии, я создал эту функцию:

    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();
    }

Ответ 3

Я хочу обновить ваше решение, это единственное решение для "удаления" базы данных.

На самом деле в новой версии (2.0) RavenDB, которые все еще нестабильны, вы можете удалить базу данных с новой версией студии.

Вы можете скачать его здесь: http://hibernatingrhinos.com/builds/ravendb-unstable-v2.0/

Я надеюсь, что это поможет вам в айденде хороший ответ.

Бест, Dario