私は新しいセイルズプロジェクトを作成し、セールス許可をインストールしました。最初はうまくいった。 MySQLへの接続を作成した後と帆は、モデルpassport.jsはnode_modules/sails-permission/api/models
に位置しセイルズプロジェクト - mysql接続 'エラー:一貫性違反'
error: Error: Consistency violation: A model (`passport`) references a
datastore which cannot be found ('mysql'). If this model definition
has an explicit
connection
property, check that it is spelled
correctly. If not, check your default
connection
(usually located in config/models.js).
として、それはエラーをスロー持ち上げました。
のconfig/connections.js
mysql: {
module : 'sails-mysql',
host : '127.0.0.1',
port : 3306,
user : 'review',
password : 'review',
database : 'reviews'
},
のconfig/models.js
module.exports.models = {
connection: 'mysql',
migrate: 'alter'
};
node_modules /帆許可/ API /モデルのbeacause
var bcrypt = require('bcryptjs');
function hashPassword (passport, next) {
var config = sails.config.auth.bcrypt;
var salt = config.salt || config.rounds;
if (passport.password) {
bcrypt.hash(passport.password, salt, function (err, hash) {
if (err) {
delete passport.password;
sails.log.error(err);
throw err;
}
passport.password = hash;
next(null, passport);
});
}
else {
next(null, passport);
}
}
var Passport = {
attributes: {
password: { type: 'string', minLength: 8 },
provider : { type: 'alphanumericdashed' },
identifier : { type: 'string' },
tokens : { type: 'json' },
user: { model: 'User', required: true },
validatePassword: function (password, next) {
bcrypt.compare(password, this.password, next);
}
},
beforeCreate: function (passport, next) {
hashPassword(passport, next);
},
beforeUpdate: function (passport, next) {
hashPassword(passport, next);
}
};
module.exports = Passport;
で
adapter
として変更
module
– dpineda