不要怂,就是干,撸起袖子干!

Commit 5782fe0b by Mick Hansen

fix more test cases

1 parent 62bd98f0
...@@ -6,7 +6,8 @@ var Utils = require("../../utils") ...@@ -6,7 +6,8 @@ var Utils = require("../../utils")
module.exports = (function() { module.exports = (function() {
var QueryGenerator = { var QueryGenerator = {
addSchema: function(param) { addSchema: function(param) {
var schema = (param.options && param.options.schema ? param.options.schema : undefined) var self = this
, schema = (param.options && param.options.schema ? param.options.schema : undefined)
, schemaDelimiter = (param.options && param.options.schemaDelimiter ? param.options.schemaDelimiter : undefined) , schemaDelimiter = (param.options && param.options.schemaDelimiter ? param.options.schemaDelimiter : undefined)
if (!schema) return param.tableName || param; if (!schema) return param.tableName || param;
...@@ -14,7 +15,10 @@ module.exports = (function() { ...@@ -14,7 +15,10 @@ module.exports = (function() {
return { return {
tableName: param.tableName || param, tableName: param.tableName || param,
schema: schema, schema: schema,
delimiter: schemaDelimiter || '.' delimiter: schemaDelimiter || '.',
toString: function() {
return self.quoteTable(this)
}
} }
}, },
......
...@@ -28,26 +28,13 @@ module.exports = (function() { ...@@ -28,26 +28,13 @@ module.exports = (function() {
var self = this var self = this
return new Utils.CustomEventEmitter(function(emitter) { return new Utils.CustomEventEmitter(function(emitter) {
var chainer = new Utils.QueryChainer()
self.showAllSchemas().success(function(schemaNames) { self.showAllSchemas().success(function(schemaNames) {
var chainer = new Utils.QueryChainer()
schemaNames.forEach(function(schemaName) { schemaNames.forEach(function(schemaName) {
chainer.add(self.dropSchema(schemaName)) chainer.add(self.dropSchema(schemaName))
}) })
chainer chainer.run().proxy(emitter)
.run() }).proxy(emitter, {events: ['sql', 'error']})
.success(function() {
self.emit('dropAllSchemas', null)
emitter.emit('success', null)
})
.error(function(err) {
self.emit('dropAllSchemas', err)
emitter.emit('error', err)
})
}).error(function(err) {
self.emit('dropAllSchemas', err)
emitter.emit('error', err)
})
}).run() }).run()
} }
...@@ -364,7 +351,17 @@ module.exports = (function() { ...@@ -364,7 +351,17 @@ module.exports = (function() {
if (self.QueryGenerator.describeTableQuery) { if (self.QueryGenerator.describeTableQuery) {
sql = self.QueryGenerator.describeTableQuery(tableName, schema, schemaDelimiter) sql = self.QueryGenerator.describeTableQuery(tableName, schema, schemaDelimiter)
} else { } else {
var table = self.QueryGenerator.quoteIdentifier(self.QueryGenerator.addSchema({tableName: tableName, options: {schema: schema, schemaDelimiter: schemaDelimiter}}), self.QueryGenerator.options.quoteIdentifiers) var table = self.QueryGenerator.quoteIdentifier(
self.QueryGenerator.addSchema({
tableName: tableName,
options: {
schema: schema,
schemaDelimiter:
schemaDelimiter
}
}),
self.QueryGenerator.options.quoteIdentifiers
)
sql = 'DESCRIBE ' + table + ';' sql = 'DESCRIBE ' + table + ';'
} }
......
...@@ -366,11 +366,7 @@ module.exports = (function() { ...@@ -366,11 +366,7 @@ module.exports = (function() {
} }
Sequelize.prototype.dropAllSchemas = function() { Sequelize.prototype.dropAllSchemas = function() {
var self = this return this.getQueryInterface().dropAllSchemas()
var chainer = new Utils.QueryChainer()
chainer.add(self.getQueryInterface().dropAllSchemas())
return chainer.run()
} }
Sequelize.prototype.sync = function(options) { Sequelize.prototype.sync = function(options) {
......
...@@ -639,7 +639,7 @@ describe(Support.getTestDialectTeaser("HasMany"), function() { ...@@ -639,7 +639,7 @@ describe(Support.getTestDialectTeaser("HasMany"), function() {
AcmeUser.hasMany(AcmeProject, {through: AcmeProjectUsers}) AcmeUser.hasMany(AcmeProject, {through: AcmeProjectUsers})
AcmeProject.hasMany(AcmeUser, {through: AcmeProjectUsers}) AcmeProject.hasMany(AcmeUser, {through: AcmeProjectUsers})
self.sequelize.dropAllSchemas().done(function(err) { self.sequelize.dropAllSchemas().on('sql', function (sql) { console.log(sql); }).done(function(err)
expect(err).not.to.be.ok expect(err).not.to.be.ok
self.sequelize.createSchema('acme').done(function(err) { self.sequelize.createSchema('acme').done(function(err) {
expect(err).not.to.be.ok expect(err).not.to.be.ok
......
...@@ -1493,15 +1493,15 @@ describe(Support.getTestDialectTeaser("DAOFactory"), function () { ...@@ -1493,15 +1493,15 @@ describe(Support.getTestDialectTeaser("DAOFactory"), function () {
expect(UserSpecial).to.exist expect(UserSpecial).to.exist
expect(UserPublic).to.exist expect(UserPublic).to.exist
if (dialect === "postgres") { if (dialect === "postgres") {
expect(self.UserSpecialSync.getTableName()).to.equal('"special"."UserSpecials"'); expect(self.UserSpecialSync.getTableName().toString()).to.equal('"special"."UserSpecials"');
expect(UserSpecial.indexOf('INSERT INTO "special"."UserSpecials"')).to.be.above(-1) expect(UserSpecial.indexOf('INSERT INTO "special"."UserSpecials"')).to.be.above(-1)
expect(UserPublic.indexOf('INSERT INTO "UserPublics"')).to.be.above(-1) expect(UserPublic.indexOf('INSERT INTO "UserPublics"')).to.be.above(-1)
} else if (dialect === "sqlite") { } else if (dialect === "sqlite") {
expect(self.UserSpecialSync.getTableName()).to.equal('`special`.`UserSpecials`'); expect(self.UserSpecialSync.getTableName().toString()).to.equal('`special.UserSpecials`');
expect(UserSpecial.indexOf('INSERT INTO `special.UserSpecials`')).to.be.above(-1) expect(UserSpecial.indexOf('INSERT INTO `special.UserSpecials`')).to.be.above(-1)
expect(UserPublic.indexOf('INSERT INTO `UserPublics`')).to.be.above(-1) expect(UserPublic.indexOf('INSERT INTO `UserPublics`')).to.be.above(-1)
} else { } else {
expect(self.UserSpecialSync.getTableName()).to.equal('`special.UserSpecials`'); expect(self.UserSpecialSync.getTableName().toString()).to.equal('`special.UserSpecials`');
expect(UserSpecial.indexOf('INSERT INTO `special.UserSpecials`')).to.be.above(-1) expect(UserSpecial.indexOf('INSERT INTO `special.UserSpecials`')).to.be.above(-1)
expect(UserPublic.indexOf('INSERT INTO `UserPublics`')).to.be.above(-1) expect(UserPublic.indexOf('INSERT INTO `UserPublics`')).to.be.above(-1)
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!