1
0
Fork 0

fixed arango-upgrade

This commit is contained in:
Jan Steemann 2012-10-23 15:54:52 +02:00
parent 57c19312ec
commit 6d2861ec5e
1 changed files with 34 additions and 52 deletions

View File

@ -71,6 +71,30 @@ function main (argv) {
}
}
function getCollection (name) {
return db._collection(name);
}
function collectionExists (name) {
var collection = getCollection(name);
return (collection != undefined) && (collection != null) && (collection.name() == name);
}
function createSystemCollection (name, attributes) {
if (collectionExists(name)) {
return true;
}
var realAttributes = attributes || { };
realAttributes['isSystem'] = true;
if (db._create(name, realAttributes)) {
return true;
}
return collectionExists(name);
}
// --------------------------------------------------------------------------
// the actual upgrade tasks. all tasks defined here should be "re-entrant"
@ -78,25 +102,13 @@ function main (argv) {
// set up the collection _users
addTask("setup _users collection", 1, function () {
var users = db._collection("_users");
if (users == null) {
users = db._create("_users", { isSystem: true, waitForSync: true });
if (users == null) {
console.error("creating users collection '_users' failed");
return false;
}
}
return true;
return createSystemCollection("_users", { waitForSync : true });
});
// create a unique index on username attribute in _users
addTask("create index on username attribute in _users collection", 1, function () {
var users = db._collection("_users");
if (users == null) {
var users = getCollection("_users");
if (! users) {
return false;
}
@ -107,9 +119,8 @@ function main (argv) {
// add a default root user with no passwd
addTask("add default root user", 1, function () {
var users = db._collection("_users");
if (users == null) {
var users = getCollection("_users");
if (! users) {
return false;
}
@ -123,25 +134,14 @@ function main (argv) {
// set up the collection _graphs
addTask("setup _graphs collection", 1, function () {
var graphs = db._collection("_graphs");
if (graphs == null) {
graphs = db._create("_graphs", { isSystem: true, waitForSync: true });
if (graphs == null) {
console.error("creating graphs collection '_graphs' failed");
return false;
}
}
return true;
return createSystemCollection("_graphs", { waitForSync : true });
});
// create a unique index on name attribute in _graphs
addTask("create index on name attribute in _graphs collection", 1, function () {
var graphs = db._collection("_graphs");
var graphs = getCollection("_graphs");
if (graphs == null) {
if (! graphs) {
return false;
}
@ -202,30 +202,12 @@ function main (argv) {
// create the _modules collection
addTask("setup _modules collection", 1, function () {
// create a collection named "_modules"
if (db._modules !== undefined) {
var modules = db._create("_modules", { isSystem: true });
if (modules == null) {
console.error("creating modules collection '_modules' failed");
return false;
}
}
return true;
return createSystemCollection("_modules");
});
// create the _routing collection
addTask("setup _routing collection", 1, function () {
// create a collection named "_routing"
if (db._routing !== undefined) {
var routing = db._create("_routing", { isSystem: true });
if (routing == null) {
console.error("creating routing collection '_routing' failed");
return false;
}
}
return true;
return createSystemCollection("_routing");
});
// create the VERSION file