我觉得我在ArangoDB升级过程中做错了 . 升级的最终结果是我的数据库存在,我的用户存在,我的集合存在,但我的集合中没有文档 . 显然这是一个问题 . 我有两次出现此问题,从Windows 2.3.1 - > 2.3.4和2.3.4 - > 2.4升级 . 我在两种情况下都使用了相同的程序:
-
停止了ArangoDB服务
-
从Program Files制作了ArangoDB目录的备份副本
-
安装了新版本的ArangoDB
-
将数据库文件夹的内容从旧的ArangoDB目录复制到新的目录,不包括系统数据库(我觉得这是我出错的地方......)
-
然后我打开命令提示符到bin目录并运行arangod --upgrade
升级输出对我来说似乎是对的,它找到了旧的数据库并对它们进行升级,这一点可以从它们存在的事实以及集合中看出来 . 但如前所述,收藏品都是空的 . 值得庆幸的是,这是在开发环境中,但我担心升级我的 生产环境 环境 . 我做错了什么或这是一个错误?
2 回答
我尝试使用x64 Arango软件包重现步骤2.3.5到2.4.1
我做了什么:
首先,从shell运行arangod,在程序目录之外有自己的数据库目录:
创建了一个集合,插入数据(比如js / server / tests / aql-optimizer-rule-use-index-for-sort.js setUp() - 函数确实)然后安装新版本,运行
然后
这给了我收集的所有100份文件 .
接下来,我尝试运行arangod服务,使用Porgram Files文件夹中的var \ lib文件夹 . 我使用arangosh连接,再次将文档插入集合,验证
所有数据都在那里 .
然后停止服务,安装2.4.1,停止服务,并使用资源管理器复制ArangoDB 2.4.1 \ var \ lib目录,运行arangod --upgrade成功重启服务,并使用arangosh成功重新验证再次收集及其文件 .
因此,这看起来与您所做的类似,您是否可以尝试使用最少的数据集重现这一点并将var \ lib目录发送给我们?
事实证明,问题与复制有关 . 我会复制 生产环境 数据库中的数据,以便在开发期间使用 . 然后当我在dev db上升级或停止Arango服务时,所有文件都会消失 . 但是,当我使用arango备份和还原来复制 生产环境 数据库数据时,一切都按预期工作 . Arango的最新版本应该已经解决了这个问题,但我没有时间去测试它 .