如何在 Ravendb 中更改(单个)文件系统的位置?

How do I change the location for a (single) filesystem in Ravendb?

我的任务:将包含 Ravendb 安装的数据库和文件系统的目录从一个驱动器移动到另一个驱动器(因为磁盘 space 问题)而不移动或更改 Ravendb 安装本身。

我通过以下方式成功移动了数据库:

  1. 正在关闭 Ravendb 服务
  2. 移动包含子文件夹 DatabasesFileSystems
  3. 的数据文件夹
  4. 打开 Raven.Server.exe.config 并更改设置 Raven/DataDirRaven/FileSystem/DataDir
  5. 的值
  6. 再次启动Ravendb服务
  7. 棘手的部分:使用Raven Studio进入一些(不是全部)数据库并选择设置 > 数据库设置 并(再次)更改此处的值 Raven/DataDir。所以显然,不知何故,对于我的一些数据库,这个值在数据库本身的一些元数据中被覆盖,而不是使用波浪号来相对于全局设置(尽管实际的数据库或数据库定义或其他东西被正确加载,因为我什至可以看到这个 setting/value)

到目前为止一切顺利。但这里的问题是:

显然,对于某些文件系统(同样不是全部),Ravendb 似乎认为,它们的 "data-data" 仍在旧位置(同样,实际的文件系统元数据似乎是从新位置加载的).但是,唉,文件系统在 Raven Studio 中没有类似于 Database Settings 的东西,我可以在其中更改这个数据目录,可能在这里也被覆盖了。

我知道文件系统的数据假定仍位于旧位置的方式是,我可以看到在旧位置创建的新文件夹具有相应文件系统的名称。

我尝试转到系统数据库(Main Window > Manage Your Server > To系统数据库),但文件系统没有出现在这里。

所以我的问题是:如何更改或设置单个文件系统的 Raven/FileSystem/DataDir 设置?

尤里卡,我发现了这个:

确实是错误,出于某种原因,当在 Raven Studio 中查看时,我的文件系统没有出现在系统数据库中。我意识到这一点,因为系统数据库中的状态栏显示 40 个文档,但在列表中可见的文档更少。这肯定是 Raven Studio 中的一个错误。

解决方法:在system db中,将我的鼠标光标放在最上面的quick-goto-/search-field处​​("Go to document") 并输入 Raven/FileSystems/,从这里开始,自动完成功能将向我显示可用的文件系统。选择正确的文件系统,我现在可以编辑(实际上是覆盖的)文件系统路径,该路径被设置为绝对路径。

请注意,通常您绝对应该使用相对于 Raven/DataDirRaven/FileSystem/DataDir 设置的路径,例如~\filesystems\my-db 可以更轻松地集中移动所有数据库和文件系统。