           Boolean: "boolean"
         },
         props = obj.properties,
+        keys = Object.keys(props),
         result = true,
         found,
         i = 0;


      /** Edit columns **/
      /** TODO: Auto-drop not specified properties */
      while (props[i]) {
        var prop = props[i],
          action = prop.action || "add",
          type = prop.type,
          name = prop.name ? prop.name.toSnakeCase() : false,
          args = [table, action];

        if (!name || actions.indexOf(action) === -1) {
          result = false;
          break;
        }

        tokens = [],
        params = [],
        values = [],
        i = 0,
        keys,
        sql;

      /** Check id for existence and uniqueness and regenerate if any problem */
      data.id = data.id === undefined || _getKey(data.id) !== undefined ? FP.createId() : data.id;
