I have added migration for add new column like this:

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()
  }
}

then run migration as

sequelize -m

its add new column with default value. But when I retrieve this api

updateTopic = function (req, res) {
  db.Topic.find(req.params.id).success(function (topic) {
    console.log(topic.isFeatured)
    // some code
  });
};

then I got console.log(topic.isFeatured) is undefined

but console.log(topic) show topic with default false value of isFeatured.

So anybody can help me to find out why console.log(topic.isFeatured) is undefined.

Thanks

有帮助吗?

解决方案

It seems that you have not added isFeatured column in your model definitions, you have to add it to your model definitions.

module.exports = function (db, DataTypes) {
  var Topic = sequelize.define('Topic', {
    name: DataTypes.STRING,
    // other columns
    isFeatured: DataTypes.BOOLEAN
  });
  return Topic;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top