spencerlambert / mysql-events

A node meteor package that watches a MySQL database and runs callbacks on matched events.
Other
87 stars 74 forks source link

Cannot read property 'host' of undefined #31

Closed imvikaskohli closed 6 years ago

imvikaskohli commented 7 years ago

Whenever I tried to console mysqlEventWatcher.coonect(), it throws the following error

if (!_underScore.isUndefined(dsn.host) && ^ TypeError: Cannot read property 'host' of undefined at Object.connect (/Public_Nodejs/node_modules/mysql-events/index.js:64:39)

But I defined my dsn object.

Here is my dsn object

var db_config = { host : 'localhost', user : 'root', password : 'password', }

var MySQLEvents = require('mysql-events'); var dsn = { host: db_config.host, user: db_config.user, password: db_config.password };

var mysqlEventWatcher = MySQLEvents(dsn); console.log(mysqlEventWatcher);

console.log('Before SqlWatcher');

var watcher =mysqlEventWatcher.add( 'mydb.mttable1', // 'myDB.table.field.value', function (oldRow, newRow, event) { console.log('Hello'+'i am in sqlWatcher'); //row inserted if (oldRow === null) { //console('insert code goes here'); }

 //row deleted
if (newRow === null) {
  //delete code goes here
}

 //row updated
if (oldRow !== null && newRow !== null) {
  //update code goes here
}

//detailed event information
console.log(event)

}, 'Active' );

spencerlambert commented 6 years ago

You could just pass in your db_config rather than dsn when setting up MySQLEvents.