0

场景:我有一个具有每用户数据库模型的单节点数据库。用户删除了他的数据库。我知道数据库名称。

  • 我想通过将 .couch 文件复制回数据文件夹来从备份中恢复数据库。
  • 我不想将所有数据库的完整备份恢复到另一个 CouchDB 实例,因为这需要太长时间。

问题:

  1. 仅复制 .couch 文件是不够的(不再),因为有一个索引 ( _dbs.couch) 将此数据库标记为已删除。
  2. 重命名 .couch 文件并将其复制回数据文件夹不起作用,因为“新”数据库名称不在索引中。
  3. 创建具有相同名称的新数据库,然后从备份中复制回文件不起作用,因为新数据库在 .couch 文件名中具有不同的时间戳。
  4. 执行第 3 步,但将备份文件的时间戳重命名为新创建的数据库的新时间戳,然后复制文件也不起作用,原因我不知道。

问题:如何从 .couch 文件备份中恢复单个已删除的数据库,而不将完整备份恢复到相同或单独的实例?

  • 有没有办法告诉 CouchDB 重新索引其数据目录中所有现有的 .couch 文件?
  • 有没有办法修改_dbs.couch索引以添加恢复的数据库?
4

0 回答 0