From 7569a923c811364dedf14848b0d4eab5cbd0448a Mon Sep 17 00:00:00 2001 From: "Amir M. Mahmoudi" Date: Mon, 6 Feb 2012 22:22:13 +0330 Subject: [PATCH] Fixing some bugs, which fix default values and length of fields in mysql adapter --- lib/adapters/mysql.js | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/adapters/mysql.js b/lib/adapters/mysql.js index d25d771a..064c7997 100644 --- a/lib/adapters/mysql.js +++ b/lib/adapters/mysql.js @@ -105,7 +105,7 @@ MySQL.prototype.toDatabase = function (prop, val) { ' AND ' + this.toDatabase(prop, val[1]); } else if (operator == 'inq' || operator == 'nin') { - if (!(val.propertyIsEnumerable('length')) && typeof val === 'object' && typeof val.length === 'number') { //if value is array + if (!(val.propertyIsEnumerable('length')) && typeof val === 'object' && typeof val.length === 'number') { //if value is array return val.join(','); } else { return val; @@ -413,17 +413,24 @@ MySQL.prototype.propertySettingsSQL = function (model, prop) { }; function datatype(p) { + var dt = ''; switch (p.type.name) { case 'String': - return 'VARCHAR(' + (p.limit || 255) + ')'; + dt = 'VARCHAR(' + (p.limit || 255) + ')'; + break; case 'Text': - return 'TEXT'; + dt = 'TEXT'; + break; case 'Number': - return 'INT(11)'; + dt = 'INT(' + (p.limit || 11) + ')'; + break; case 'Date': - return 'DATETIME'; + dt = 'DATETIME'; + break; case 'Boolean': - return 'TINYINT(1)'; - } -} - + dt = 'TINYINT(1)'; + break; + } + dt += (typeof p.default !== 'undefined') ? ' DEFAULT ' + p.default.toString() : ''; + return dt; +} \ No newline at end of file