rmcouchdb doesn't drop everything if dbname is absent; mkcouchdb reports helpful error message if dbname is absent
This commit is contained in:
parent
0b295a3e15
commit
b628dbe1d9
|
@ -68,8 +68,7 @@ possible to write in your configuration file:
|
|||
});
|
||||
|
||||
|
||||
Note, however, that if you call 'rmcouchdb' without a sub-argument, in
|
||||
keeping with grunt's standards, it will drop *all* of your databases!
|
||||
Note that if you call `rmcouchdb` without a sub-argument, it will not delete any databases.
|
||||
|
||||
## Demo
|
||||
|
||||
|
|
|
@ -34,21 +34,26 @@ module.exports = function(grunt) {
|
|||
dbname = parts.pathname.replace(/^\//, '');
|
||||
try {
|
||||
nano = require('nano')(parts.protocol + '//' + parts.host);
|
||||
nano.db.destroy(dbname, function(err) {
|
||||
if (err) {
|
||||
if (err.status_code && err.status_code === 404) {
|
||||
if (_this.data.options && _this.data.options.okay_if_missing) {
|
||||
grunt.log.writeln("Database " + dbname + " not present... skipping.");
|
||||
return done(null, null) ;
|
||||
if (dbname) {
|
||||
nano.db.destroy(dbname, function(err) {
|
||||
if (err) {
|
||||
if (err.status_code && err.status_code === 404) {
|
||||
if (_this.data.options && _this.data.options.okay_if_missing) {
|
||||
grunt.log.writeln("Database " + dbname + " not present... skipping.");
|
||||
return done(null, null) ;
|
||||
} else {
|
||||
grunt.warn("Database " + dbname + " does not exist.");
|
||||
}
|
||||
} else {
|
||||
grunt.warn("Database " + dbname + " does not exist.");
|
||||
grunt.warn(err);
|
||||
}
|
||||
} else {
|
||||
grunt.warn(err);
|
||||
}
|
||||
}
|
||||
return done(err, null);
|
||||
});
|
||||
return done(err, null);
|
||||
});
|
||||
} else {
|
||||
grunt.log.writeln("No database specified... skipping.");
|
||||
return done(null, null);
|
||||
}
|
||||
} catch (e) {
|
||||
grunt.warn(e);
|
||||
done(e, null);
|
||||
|
@ -62,20 +67,26 @@ module.exports = function(grunt) {
|
|||
parts = urls.parse(this.data.db);
|
||||
dbname = parts.pathname.replace(/^\//, '');
|
||||
try {
|
||||
nano = require('nano')(parts.protocol + '//' + parts.host);
|
||||
nano.db.create(dbname, function(err) {
|
||||
if (_this.data.options && _this.data.options.okay_if_exists) {
|
||||
if (err){
|
||||
grunt.log.writeln("Database " + dbname + " exists, skipping");
|
||||
if (dbname) {
|
||||
nano = require('nano')(parts.protocol + '//' + parts.host);
|
||||
nano.db.create(dbname, function(err) {
|
||||
if (_this.data.options && _this.data.options.okay_if_exists) {
|
||||
if (err){
|
||||
grunt.log.writeln("Database " + dbname + " exists, skipping");
|
||||
}
|
||||
return done(null, null);
|
||||
} else {
|
||||
if (err){
|
||||
grunt.warn(err);
|
||||
}
|
||||
return done(err, null);
|
||||
}
|
||||
return done(null, null);
|
||||
} else {
|
||||
if (err){
|
||||
grunt.warn(err);
|
||||
}
|
||||
return done(err, null);
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
var err_msg = "No database specified... skipping.";
|
||||
grunt.warn(err_msg);
|
||||
return done(new Error(err_msg), null);
|
||||
}
|
||||
} catch (e) {
|
||||
grunt.warn(e);
|
||||
done(e, null);
|
||||
|
|
Loading…
Reference in New Issue