部署脚本创建和配置数据库,集合等。该脚本包含在开始之前删除数据库的代码,以便测试它们可以正常进行。删除数据库后重新添加它:删除和重新创建ArangoDB数据库保留集合
var graphmodule = require("org/arangodb/general-graph");
var graphList = graphmodule._list();
var dbList = db._listDatabases();
for (var j = 0; j < dbList.length; j++) {
if (dbList[j] == 'myapp')
db._dropDatabase('myapp');
}
db._createDatabase('myapp');
db._useDatabase('myapp');
db._create('appcoll'); // Collection already exists error occurs here
先前已加入到MYDB留在MYDB的集合,但它们是空的。这对于我的特殊用例来说并不是一个问题,因为集合是空的,而且我已经计划重新构建它们,但我宁愿有一个干净的平台来进行测试,这种行为看起来很奇怪。
我试过关闭shell并重新启动drop和add之间的数据库,但是没有解决问题。
有没有办法干净地删除和重新添加数据库?
答复回答你的问题?如果是的话,你能标记接受的答案吗?如果没有,缺少什么? – dothebart
它正在使用正确的数据库。该脚本还检查并删除图表。这似乎是多余的,因为整个数据库都被删除了,但是当我将该块移到db._create('appcoll')行之前时,问题就解决了。 appcoll集合在图中使用。数据库被删除后是否存在对图集合的残留引用? – gph
如果您创建一个[命名图](https://docs.arangodb.com/Glossary/index.html#named-graphs),其管理数据将保存在系统集合“_graphs”中。您应该[通过图表管理功能]删除图表(https://docs.arangodb.com/GeneralGraphs/Management.html#remove-a-graph)。与图形相关的另一件事是使用浏览器存储来记住图形设置的UI。 – dothebart