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

Commit ecfc82a8 by sdepold

describeTable + addColumn

1 parent 8e56e3a9
Showing with 34 additions and 2 deletions
var Utils = require('./utils')
var Utils = require('./utils')
, DataTypes = require('./data-types')
module.exports = (function() {
var QueryInterface = function(sequelize) {
......@@ -86,8 +87,39 @@ module.exports = (function() {
}).run()
}
QueryInterface.prototype.addColumn = function() {
QueryInterface.prototype.describeTable = function(tableName) {
var self = this
return new Utils.CustomEventEmitter(function(emitter) {
self.sequelize.query('DESCRIBE `' + tableName + '`;', null, { raw: true }).success(function(data) {
emitter.emit('success', data)
}).error(function(err) {
emitter.emit('failure', err)
})
}).run()
}
QueryInterface.prototype.addColumn = function(tableName, attributeName, dataTypeOrOptions) {
var attributes = {}
if(Utils._.values(DataTypes).indexOf(dataTypeOrOptions) > -1)
attributes[attributeName] = { type: dataTypeOrOptions, allowNull: false }
else
attributes[attributeName] = dataTypeOrOptions
var options = Utils.simplifyAttributes(attributes)
, query = this.QueryGenerator.addColumnQuery(tableName, options)
, self = this
return new Utils.CustomEventEmitter(function(emitter) {
self.sequelize.query(query).success(function() {
self.emit('addColumn', null)
emitter.emit('success', null)
}).error(function(err) {
self.emit('addColumn', err)
emitter.emit('failure', err)
})
}).run()
}
QueryInterface.prototype.removeColumn = function() {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!