From 49b51e478fa75b8d5254662de3265edcf8906004 Mon Sep 17 00:00:00 2001 From: Cheng-Han, Wu Date: Wed, 20 Apr 2016 18:03:55 +0800 Subject: Refactor server with Sequelize ORM, refactor server configs, now will show note status (created or updated) and support docs (note alias) --- lib/models/index.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 lib/models/index.js (limited to 'lib/models/index.js') diff --git a/lib/models/index.js b/lib/models/index.js new file mode 100644 index 00000000..3b49d459 --- /dev/null +++ b/lib/models/index.js @@ -0,0 +1,37 @@ +"use strict"; + +// external modules +var fs = require("fs"); +var path = require("path"); +var Sequelize = require("sequelize"); + +// core +var config = require('../config.js'); +var logger = require("../logger.js"); + +var dbconfig = config.db; +dbconfig.logging = config.debug ? logger.info : false; +var sequelize = new Sequelize(dbconfig.database, dbconfig.username, dbconfig.password, dbconfig); + +var db = {}; + +fs + .readdirSync(__dirname) + .filter(function (file) { + return (file.indexOf(".") !== 0) && (file !== "index.js"); + }) + .forEach(function (file) { + var model = sequelize.import(path.join(__dirname, file)); + db[model.name] = model; + }); + +Object.keys(db).forEach(function (modelName) { + if ("associate" in db[modelName]) { + db[modelName].associate(db); + } +}); + +db.sequelize = sequelize; +db.Sequelize = Sequelize; + +module.exports = db; \ No newline at end of file -- cgit v1.2.3