From dc00a25a754d3edce0f17cb42293adcb22e345af Mon Sep 17 00:00:00 2001 From: ksmithson Date: Tue, 7 Jan 2014 17:51:47 -0800 Subject: [PATCH 1/3] added ability to turn off pluralizing table names --- lib/adapters/sql/converter.js | 2 +- lib/adapters/sql/mysql.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/adapters/sql/converter.js b/lib/adapters/sql/converter.js index 42b24524..7f27f48d 100644 --- a/lib/adapters/sql/converter.js +++ b/lib/adapters/sql/converter.js @@ -5,7 +5,7 @@ module.exports = new (function () { this.COLUMN_NAME_DELIMITER = '"'; this._tableizeModelName = function (name) { - return utils.string.getInflection(name, 'filename', 'plural'); + return utils.string.getInflection(name, 'filename', this.config.pluralizeTableNames ? 'plural' : 'singular'); }; this._modelizeTableName = function (name, ownerName) { diff --git a/lib/adapters/sql/mysql.js b/lib/adapters/sql/mysql.js index 7ef4657c..87aeeb1b 100644 --- a/lib/adapters/sql/mysql.js +++ b/lib/adapters/sql/mysql.js @@ -14,7 +14,8 @@ _baseConfig = { host: 'localhost' , user: process.env.USER , password: null -, database: process.env.USER +, database: process.env.USER, + pluralizeTableNames: true }; Adapter = function (options) { From 76c01b99e23d975945e621d915e734b71bcd161b Mon Sep 17 00:00:00 2001 From: ksmithson Date: Tue, 7 Jan 2014 18:17:14 -0800 Subject: [PATCH 2/3] added plurizeTableNames config to base config --- lib/adapters/sql/mysql.js | 4 ++-- lib/adapters/sql/postgres.js | 1 + lib/adapters/sql/sqlite.js | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/adapters/sql/mysql.js b/lib/adapters/sql/mysql.js index 87aeeb1b..327f25cf 100644 --- a/lib/adapters/sql/mysql.js +++ b/lib/adapters/sql/mysql.js @@ -14,8 +14,8 @@ _baseConfig = { host: 'localhost' , user: process.env.USER , password: null -, database: process.env.USER, - pluralizeTableNames: true +, database: process.env.USER +, pluralizeTableNames: true }; Adapter = function (options) { diff --git a/lib/adapters/sql/postgres.js b/lib/adapters/sql/postgres.js index 598bfdca..b0ab7441 100644 --- a/lib/adapters/sql/postgres.js +++ b/lib/adapters/sql/postgres.js @@ -16,6 +16,7 @@ _baseConfig = { , password: null , host: null , port: 5432 +, pluralizeTableNames: true }; Adapter = function (options) { diff --git a/lib/adapters/sql/sqlite.js b/lib/adapters/sql/sqlite.js index d47508aa..be111f2d 100644 --- a/lib/adapters/sql/sqlite.js +++ b/lib/adapters/sql/sqlite.js @@ -13,6 +13,7 @@ sqlite3 = utils.file.requireLocal('sqlite3', model.localRequireError); _baseConfig = { database: process.env.USER + '.db' +, pluralizeTableNames: true }; Adapter = function (options) { From 8b7d703a6f5159094b2354850165809752e173f5 Mon Sep 17 00:00:00 2001 From: ksmithson Date: Tue, 7 Jan 2014 19:19:22 -0800 Subject: [PATCH 3/3] added a default value to pluralize, all tests pass --- lib/adapters/sql/converter.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/adapters/sql/converter.js b/lib/adapters/sql/converter.js index 7f27f48d..b32ca960 100644 --- a/lib/adapters/sql/converter.js +++ b/lib/adapters/sql/converter.js @@ -5,7 +5,11 @@ module.exports = new (function () { this.COLUMN_NAME_DELIMITER = '"'; this._tableizeModelName = function (name) { - return utils.string.getInflection(name, 'filename', this.config.pluralizeTableNames ? 'plural' : 'singular'); + var pluralize = this.config + && typeof this.config.pluralizeTableNames === "boolean" + && this.config.pluralizeTableNames || true; + + return utils.string.getInflection(name, 'filename', pluralize ? 'plural' : 'singular'); }; this._modelizeTableName = function (name, ownerName) {