在代码中创建voron RavenFS数据库的最佳方法?

时间:2016-12-14 10:08:03

标签: c# ravendb ravenfs

在RavenDB 3.0中,我想在代码中创建一个新的RavenFS数据库但是在voron引擎中。 当数据库不存在时,它就会被创建但不存在引擎。

我试过这种方式:

FilesStore = new FilesStore
  {
  Url = "http://localhost:8080",
  DefaultFileSystem = "Test_FS"
  };
FilesStore.Initialize();
FilesStore.CreateOrUpdate("Test_FS");

创建或更新是扩展功能的地方:

public static void CreateOrUpdate(this FilesStore filesStore, string databaseName)
    {
        try
        {
                       filesStore.AsyncFilesCommands.Admin.CreateOrUpdateFileSystemAsync(
                new FileSystemDocument
                {
                    Id = "Raven/FileSystem/"+databaseName,
                    Settings =
                {
                    {"Raven/FileSystem/DataDir", "~/FileSystems/" + databaseName},
                    {"Raven/FileSystem/Storage", "voron"},
                    {"Raven/ActiveBundles", ""}
                }
                }).Wait();
        }
        catch (Exception e)
        {
            var ex = e;
            throw;
        }

    }

我必须在创建FileStore时设置DefaultFileSystem名称,否则它将在CreateOrUpdateFileSystemAsync期间崩溃

所以FileStore在essent中创建一次,然后在第二次转换为voron ......丑陋的方式......

有更好的方法吗? 感谢

Whiletrue

0 个答案:

没有答案