diff --git a/lib/columns-to-model.js b/lib/columns-to-model.js
index <HASH>..<HASH> 100644
--- a/lib/columns-to-model.js
+++ b/lib/columns-to-model.js
@@ -85,7 +85,7 @@ function dataToType(data, name, options) {
 
     return {
       value: d,
-      length: d.length,
+      length: (d && d.toString) ? d.toString().length : null,
       kind: pickle(d, options)
     };
   });
@@ -128,6 +128,10 @@ function dataToType(data, name, options) {
   else if ((kind === "INTEGER" || kind === "FLOAT") && knownID.test(name)) {
     return new Sequelize.STRING(Math.floor(maxLength * 2));
   }
+  // Check for long integers
+  else if (kind === "INTEGER" && maxLength > 8) {
+    return Sequelize.BIGINT;
+  }
   else {
     return Sequelize[kind];
   }
@@ -142,7 +146,7 @@ function standardize(value) {
 
 // Determine if should index based on name
 function shouldIndex(name) {
-  var nameTest = /(^|_|\s)(id|name|key)($|_|\s)/g;
+  var nameTest = /(^|_|-|\s)(id|name|key|amount|amt)($|_|-|\s)/g;
   return nameTest.test(name);
 }
Fixing guessing to use larger integers if needed.