我添加了迁移以添加新列,如下所示:
module.exports = {
up: function(migration, DataTypes, done) {
migration.addColumn('Topics','isFeatured',{
type: DataTypes.BOOLEAN, defaultValue: false
})
done()
},
down: function(migration, DataTypes, done) {
migration.removeColumn('Topics', 'isFeatured')
done()
}
}
然后以
运行迁移sequelize -m
使用默认值添加新列。 但是当我检索这个api时
updateTopic = function (req, res) {
db.Topic.find(req.params.id).success(function (topic) {
console.log(topic.isFeatured)
// some code
});
};
然后我得到console.log(topic.isFeatured)
未定义
但是console.log(topic)
显示的主题的默认值为isFeatured。
所以任何人都可以帮我找出console.log(topic.isFeatured)
未定义的原因。
由于
答案 0 :(得分:2)
您的模型定义中似乎没有添加isFeatured
列,您必须将其添加到模型定义中。
module.exports = function (db, DataTypes) {
var Topic = sequelize.define('Topic', {
name: DataTypes.STRING,
// other columns
isFeatured: DataTypes.BOOLEAN
});
return Topic;
}