Удалить одну базу данных ravendb, пока ravendb работает с другими базами данных - PullRequest
11 голосов
/ 17 августа 2011

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

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

Ответы [ 3 ]

10 голосов
/ 17 августа 2011

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

6 голосов
/ 28 марта 2013

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

/ admin / database / nameOfYourDatabase? Hard-delete = 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();
    }
1 голос
/ 25 января 2013

Я хочу обновить ваше решение, которое является единственным решением для «удаления» базы данных.

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

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

Надеюсь, это поможет вам дополнительно к хорошему ответу Айенде.

ЛучшийДарио

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...