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

Commit 0e26a8da by Sascha Depold

if an insert query was finished add the inserted id to the model

1 parent 7fc980f8
...@@ -34,7 +34,7 @@ ModelDefinition.prototype.sync = function(options) { ...@@ -34,7 +34,7 @@ ModelDefinition.prototype.sync = function(options) {
} }
ModelDefinition.prototype.__defineGetter__('drop', function() { ModelDefinition.prototype.__defineGetter__('drop', function() {
var query = QueryGenerator.dropTableQuery(this.tableName) var query = QueryGenerator.dropTableQuery(this.tableName, this.id)
return this.modelManager.sequelize.query(query, this) return this.modelManager.sequelize.query(query, this)
}) })
......
...@@ -31,13 +31,13 @@ Model.prototype.__defineGetter__('save', function() { ...@@ -31,13 +31,13 @@ Model.prototype.__defineGetter__('save', function() {
var query = QueryGenerator.insertQuery(this.definition.tableName, this.values) var query = QueryGenerator.insertQuery(this.definition.tableName, this.values)
return this.definition.modelManager.sequelize.query(query, this) return this.definition.modelManager.sequelize.query(query, this)
} else { } else {
var query = QueryGenerate.updateQuery(this.definition.tableName, this.values, this.id) var query = QueryGenerator.updateQuery(this.definition.tableName, this.values, this.id)
return this.definition.modelManager.sequelize.query(query, this) return this.definition.modelManager.sequelize.query(query, this)
} }
}) })
Model.prototype.__defineGetter__('destroy', function() { Model.prototype.__defineGetter__('destroy', function() {
var query = QueryGenerate.deleteQuery(this.definition.tableName, this.id) var query = QueryGenerator.deleteQuery(this.definition.tableName, this.id)
return this.definition.modelManager.sequelize.query(query, this) return this.definition.modelManager.sequelize.query(query, this)
}) })
......
...@@ -18,8 +18,15 @@ Query.prototype.run = function(query) { ...@@ -18,8 +18,15 @@ Query.prototype.run = function(query) {
console.log('Executing: ' + query) console.log('Executing: ' + query)
client.connect() client.connect()
client.query(query, function() { self.emit('success', self.callee) }) client.query(query, function(err, info) {
client.on("error", function(err) { self.emit('failure', err, self.callee) }) if(err) {
self.emit('failure', err, self.callee)
} else {
if (self.callee && (query.indexOf('INSERT INTO') == 0) && (info.hasOwnProperty('insertId')))
self.callee.id = info.insertId
self.emit('success', self.callee)
}
})
client.end() client.end()
return this return this
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!