部署腳本創建和配置數據庫,集合等。該腳本包含在開始之前刪除數據庫的代碼,以便測試它們可以正常進行。刪除數據庫後重新添加它:刪除和重新創建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