In my db library file, I have:
exports.slave = ->
connection = mysql.createConnection
host: config.database.slave.host
user: config.database.slave.username
password: config.database.slave.password
database: config.database.slave.database
connection.connect()
return connection
which returns connection if I run db.slave().query("WHATEVER") and executes properly. How can I extend and export a prototype, so I can just use: db.slave.query("WAHTEVER") instead?
The standard node convention is to export a single object. This object can whatever you want
var config = {
database: ...
}
var mysql = require('mysql')
function setupSlave() {
var connection = mysql.createConnection
host: config.database.slave.host
user: config.database.slave.username
password: config.database.slave.password
database: config.database.slave.database
connection.connect()
return connection
}
var slave = setupSlave()
module.exports = slave
If you instead want to export slave() instead of slave you can do that as well
var config = {
database: ...
}
var mysql = require('mysql')
function setupSlave() {
var connection = mysql.createConnection
host: config.database.slave.host
user: config.database.slave.username
password: config.database.slave.password
database: config.database.slave.database
connection.connect()
return connection
}
var slave = setupSlave()
module.exports = slave()