From ae488942bbd55ffbf8cb9f1eb753dce89f1957a0 Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Thu, 5 Dec 2013 16:08:32 -0800 Subject: [PATCH 1/4] Fix the orderBy --- lib/mysql.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/mysql.js b/lib/mysql.js index 3400e53..1fe3d1b 100644 --- a/lib/mysql.js +++ b/lib/mysql.js @@ -31,9 +31,7 @@ exports.initialize = function initializeDataSource(dataSource, callback) { s.supportBigNumbers = (s.supportBigNumbers || false); s.timezone = (s.timezone || 'local'); - if(isNaN(s.connectionLimit)) { - s.connectionLimit = s.connectionLimit; - } else { + if(!isNaN(s.connectionLimit)) { s.connectionLimit = 10; } @@ -473,7 +471,7 @@ MySQL.prototype.all = function all(model, filter, callback) { if (!filter.order) { var idNames = this.idNames(model); if (idNames && idNames.length) { - filter.order = idNames.join(' '); + filter.order = idNames; } } From e16e67568cdb727ecfb97062f614be3682c5617b Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Thu, 5 Dec 2013 16:09:15 -0800 Subject: [PATCH 2/4] Add the test for loopback-datasource-juggler PR-48 https://github.com/strongloop/loopback-datasource-juggler/pull/48 --- test/mysql.discover.test.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test/mysql.discover.test.js b/test/mysql.discover.test.js index b39b983..0e0125b 100644 --- a/test/mysql.discover.test.js +++ b/test/mysql.discover.test.js @@ -7,6 +7,7 @@ var db; before(function() { var config = require('rc')('loopback', {dev: {mysql: {}}}).dev.mysql; + config.database = 'STRONGLOOP'; db = new DataSource(require('../'), config); }); @@ -192,3 +193,28 @@ describe('Discover LDL schema from a table', function () { }); }); }); + +describe('Discover and build models', function () { + it('should discover and build models', function (done) { + db.discoverAndBuildModels('INVENTORY', {owner: 'STRONGLOOP', visited: {}, associations: true}, function (err, models) { + assert(models.Inventory, 'Inventory model should be discovered and built'); + var schema = models.Inventory.definition; + assert(schema.settings.mysql.schema === 'STRONGLOOP'); + assert(schema.settings.mysql.table === 'INVENTORY'); + assert(schema.properties.productId); + assert(schema.properties.productId.type === String); + assert(schema.properties.productId.mysql.columnName === 'PRODUCT_ID'); + assert(schema.properties.locationId); + assert(schema.properties.locationId.type === String); + assert(schema.properties.locationId.mysql.columnName === 'LOCATION_ID'); + assert(schema.properties.available); + assert(schema.properties.available.type === Number); + assert(schema.properties.total); + assert(schema.properties.total.type === Number); + models.Inventory.findOne(function (err, inv) { + assert(!err, 'error should not be reported'); + done(); + }); + }); + }); +}); From d53c1d4ebfb39d06c0e11fee85123e795f835a5a Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Fri, 6 Dec 2013 10:13:49 -0800 Subject: [PATCH 3/4] Update deps --- package.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index f01f366..6613703 100644 --- a/package.json +++ b/package.json @@ -7,14 +7,16 @@ "test": "make test" }, "dependencies": { - "loopback-datasource-juggler": "1.x.x", - "mysql": "~2.0.0-alpha9", + "mysql": "~2.0.0-rc2", "async": "~0.2.9" }, "devDependencies": { + "loopback-datasource-juggler": "1.x.x" + }, + "devDependencies": { + "loopback-datasource-juggler": "1.x.x", "should": "~1.3.0", "mocha": "~1.14.0", - "blanket": "~1.1.5", "rc": "~0.3.1" }, "repository": { From 588d13d37f7ba0db38cbcbc1a86a56289937fd3a Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Fri, 6 Dec 2013 10:36:25 -0800 Subject: [PATCH 4/4] Bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6613703..ba41cf5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "loopback-connector-mysql", - "version": "1.1.0", + "version": "1.1.1", "description": "MySQL connector for loopback-datasource-juggler", "main": "index.js", "scripts": {