Manage file systems

CreateFileSystemAsync

This method is used to create a new file system. If the file system already exists then it will throw an exception.

Syntax

Task CreateFileSystemAsync(FileSystemDocument filesystemDocument, string newFileSystemName = null);
Parameters
filesystemDocument FileSystemDocument The document containing all configuration options for a new file system (e.g. active bundles, name/id, data path)
newFileSystemName string The new file system name, if null then current file system name will be used (store.AsyncFilesCommands.FileSystem)

Return Value
Task A task that represents the asynchronous operation

Example

Let's create a new file system with Versioning bundle enabled:

await store.AsyncFilesCommands.Admin
	.CreateFileSystemAsync(new FileSystemDocument
	{
		Id = "Raven/FileSystems/NorthwindFS",
		Settings =
		{
			{ Constants.FileSystem.DataDirectory, "~/FileSystems/NorthwindFS" },
			{ Constants.ActiveBundles, "Versioning" }
		}
	}, "NorthwindFS");

CreateOrUpdateFileSystemAsync

This method creates a new file system or updates the configuration of already existing one according to the specified document.

Task CreateOrUpdateFileSystemAsync(FileSystemDocument filesystemDocument, string newFileSystemName = null);
Parameters
filesystemDocument FileSystemDocument The document containing all configuration options for a new file system (e.g. active bundles, name/id, data path)
newFileSystemName string The new file system name, if null then current file system name will be used (store.AsyncFilesCommands.FileSystem)

Return Value
Task A task that represents the asynchronous operation

EnsureFileSystemExistsAsync

Instead of calling the CreateOrUpdateFileSystemAsync method, you can use this one to make sure that file system exists. If there is no such file system, it will be created with default settings.

Task EnsureFileSystemExistsAsync(string fileSystem);
Parameters
fileSystem string The file system name

Return Value
Task A task that represents the asynchronous operation

Example

await store.AsyncFilesCommands.Admin
		.EnsureFileSystemExistsAsync("NorthwindFS");

DeleteFileSystemAsync

This method is used to delete a file system from a server, with a possibility to remove its all data from the hard drive.

Task DeleteFileSystemAsync(string fileSystemName = null, bool hardDelete = false);
Parameters
fileSystemName string The name of a file system to delete, if null then current file system name will be used (store.AsyncFilesCommands.FileSystem)
hardDelete bool Determines if all data should be removed (data files, indexing files, etc.). Default: false

Return Value
Task A task that represents the asynchronous delete operation

Example

The below code deletes the current file system together with its data on the hard drive:

await store.AsyncFilesCommands.Admin
		.DeleteFileSystemAsync(hardDelete: true);