Last active
December 23, 2016 07:14
-
-
Save totuworld/4a5414012ac7a4d39e4ca911fa9d052f to your computer and use it in GitHub Desktop.
이세계에 진입한 서버 개발 2강 자료
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"production":{ | |
"host":"url", | |
"port": 1433, | |
"dialect": "mssql", | |
"username": "replace_username", | |
"password": "replace_password", | |
"dialectOptions":{ | |
"encrypt": true, | |
"database":"db" | |
} | |
}, | |
"development":{ | |
"host":"url", | |
"port": 1433, | |
"dialect": "mssql", | |
"username": "replace_username", | |
"password": "replace_password", | |
"dialectOptions":{ | |
"encrypt": true, | |
"database":"db" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
/// <reference path="../typings/node/node.d.ts"/> | |
const fs = require("fs"); | |
const path = require("path"); | |
const Sequelize = require("sequelize"); | |
const env = process.env.NODE_ENV || "development"; | |
const config = require('../config/config.json')[env]; | |
//db에 접속하는 username과 password는 환경변수를 우선적용한다. | |
//// 절대 주의!!!! 공개된 레포지토리에 username과 password를 입력하지 마세요. | |
const username = process.env.dbUsername || config.username; | |
const password = process.env.dbPassword || config.password; | |
let sequelize = new Sequelize(config.database, username, password, config); | |
let 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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//RDB ORM 추가 | |
var models = require("./models"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//RDB 싱크 진행. | |
models.sequelize.sync() | |
.then(function () { | |
debug("complete rdb sync"); | |
debug("NODE_ENV", process.env.NODE_ENV || "development"); | |
server.listen(port); | |
}); | |
server.on('error', onError); | |
server.on('listening', onListening); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment