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

query-generator.js 1.08 KB
var Utils = require("../../utils")
  , util  = require("util")

module.exports = (function() {
  var QueryGenerator = {
    createTableQuery: function(tableName, attributes, options) {
      options = options || {}

      var query       = "CREATE TABLE IF NOT EXISTS <%= table %>(<%= attributes%>)"
        , primaryKeys = []
        , attrStr     = Utils._.map(attributes, function(dataType, attr) {
            var dt = dataType
            if (Utils._.includes(dt, 'PRIMARY KEY')) {
              primaryKeys.push(attr)
              return Utils.addTicks(attr) + " " + dt.replace(/PRIMARY KEY/, '')
            } else {
              return Utils.addTicks(attr) + " " + dt
            }
          }).join(", ")
        , values  = {
            table: Utils.addTicks(tableName),
            attributes: attrStr,
            charset: (options.charset ? "DEFAULT CHARSET=" + options.charset : "")
          }

      var sql = Utils._.template(query)(values).trim() + ";"
console.log(sql)
      return sql
    }
  }

  return Utils._.extend(Utils._.clone(require("../query-generator")), QueryGenerator)
})()