public async Task CreateDeleteDatabaseAsync()
        {
            using (var store = new DocumentStore())
            {
                #region CreateDatabaseAsync
                await store.Maintenance.Server.SendAsync(new CreateDatabaseOperation(new DatabaseRecord("MyNewDatabase")));

                #endregion

                #region CreateEncryptedDatabaseAsync
                await store.Maintenance.Server.SendAsync(new CreateDatabaseOperation(new DatabaseRecord("MyEncryptedDatabase")
                {
                    Encrypted = true
                }));

                #endregion

                #region DeleteDatabaseAsync
                await store.Maintenance.Server.SendAsync(new DeleteDatabasesOperation("MyNewDatabase", hardDelete : true, fromNode : null, timeToWaitForConfirmation : null));

                #endregion

                #region DeleteDatabasesAsync
                var parameters = new DeleteDatabasesOperation.Parameters
                {
                    DatabaseNames             = new[] { "MyNewDatabase", "OtherDatabaseToDelete" },
                    HardDelete                = true,
                    FromNodes                 = new[] { "A", "C" },      // optional
                    TimeToWaitForConfirmation = TimeSpan.FromSeconds(30) // optional
                };
                await store.Maintenance.Server.SendAsync(new DeleteDatabasesOperation(parameters));

                #endregion
            }
        }
        public static void ClearDatabase(SessionOptions options)
        {
            try
            {
                using (var session = DocumentStoreHolder.Store.OpenSession(options))
                {
                    var parameters = new DeleteDatabasesOperation.Parameters
                    {
                        DatabaseNames = new[] { options.Database },
                        HardDelete    = true
                    };

                    DocumentStoreHolder.Store.Maintenance.Server.Send(new DeleteDatabasesOperation(parameters));
                    DocumentStoreHolder.Store.Maintenance.Server.Send(new CreateDatabaseOperation(new DatabaseRecord(options.Database)));

                    session.SaveChanges();
                }

                Log.Information("Succesfully cleaned database: {0}.", options.Database);
            }
            catch (Exception exception)
            {
                Log.Error("Exception when deleting database: {0}.", options.Database);
                Log.Debug(exception.Message);
            }
        }
Beispiel #3
0
        public DocumentStore GetDocumentStore()
        {
            DocumentStore store = new DocumentStore
            {
                Urls     = new[] { "http://localhost:8080" },
                Database = "TestDatabase"
            };

            store.Initialize();

            var parameters = new DeleteDatabasesOperation.Parameters
            {
                DatabaseNames = new[] { "TestDatabase" },
                HardDelete    = true,
            };

            store.Maintenance.Server.Send(new DeleteDatabasesOperation(parameters));
            store.Maintenance.Server.Send(new CreateDatabaseOperation(new DatabaseRecord("TestDatabase")));

            return(store);
        }
 public DeleteDatabasesOperation(DeleteDatabasesOperation.Parameters parameters)
 {
 }