2017-01-25 6 views
0

sq.js:Sequelize Модель экспресс-приложения

var Sequelize = require('sequelize'); 
var sequelize = new Sequelize('postgres://chandan:[email protected]:5432/diary'); 

var User = sequelize.define('user', { 
    username: { 
    type: Sequelize.STRING, 
    field: 'username' // Will result in an attribute that is firstName when user facing but first_name in the database 
    }, 
    password: { 
    type: Sequelize.STRING 
    } 
},{ 
timestamps: false, 
}); 

User.sync({force: true}).then(function() { 
    // Table created 
}); 

module.exports = User; 

app.js:

var seq = require('./routes/sq'); 

passport.use(new passportLocal.Strategy(function(username,password, done){ 
    User.findOne({username: username}, function (err, user) { 
     if (err) { return done(err); } 
     if (!user) { 
     return done(null, false, { message: 'Incorrect username.' }); 
     } 
     if (!user.validPassword(password)) { 
     return done(null, false, { message: 'Incorrect password.' }); 
     } 
     return done(null,{ id:username, name:username}); 
    }); 
})); 

Я получаю сообщение об ошибке: ReferenceError: Пользователь не определен

ответ

3

Сво потому что вы объявили модель пользователя как seq в app.js. Изменение декларации:

var User = require('./routes/sq'); 

Переменная User живет только в sq.js

+0

Угу, которые работали ...... но теперь запрос не выполняется ...... Он отображает в консоли as ....... Выполнение (по умолчанию): SELECT "id", "username", "password" FROM "users" AS "user" LIMIT 1; –