在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