lib/drop.js
function drop(schemas) {
  var resolver = new Resolver(schemas);
  var knex = this.knex;
  return Promise.map(schemas || [], function(schema) {
    return (schema.preDrop || _.noop)(knex);
  })
  .then(function () {
    // Reduce force sequential execution.
    return Promise.reduce(resolver.resolve().reverse(), dropSchema.bind(this), []);
  }.bind(this));
}
function drop(schemas) {
  var resolver = new Resolver(schemas);
  var knex = this.knex;
  return Promise.map(schemas || [], function(schema) {
    return (schema.preDrop || _.noop)(knex);
  })
  .then(function () {
    // Reduce force sequential execution.
    return Promise.reduce(resolver.resolve().reverse(), dropSchema.bind(this), []);
  }.bind(this));
}
function drop ( schemas ) { var resolver = new Resolver ( schemas ) ; var knex = this . knex ; return Promise . map ( schemas || [ ] , function ( schema ) { return ( schema . preDrop || _ . noop ) ( knex ) ; } ) . then ( function ( ) { // Reduce force sequential execution. return Promise . reduce ( resolver . resolve ( ) . reverse ( ) , dropSchema . bind ( this ) , [ ] ) ; } . bind ( this ) ) ; }
Drop schemas tables. If it exists, it calls `preDrop` beforehand

@param {[Schemas]} schemas
@return {Promise}
Drop schemas tables . If it exists it calls preDrop beforehand