添加新列/属性以用于续集模型

时间:2015-08-12 22:03:04

标签: javascript node.js sequelize.js

有没有办法将新列添加到已定义的模型中?

类似的东西:

var Agency = sequelize.define("agency", {
  agency_id: {
    type: DataTypes.STRING(255),
    primaryKey: true
  },
  agency_name: DataTypes.STRING(255),
  agency_url: DataTypes.STRING(255)
});

Agency.addColumn({ agency_lang: DataTypes.STRING(2) });

1 个答案:

答案 0 :(得分:0)

理论上您可以Agency.rawAttributes.agency_lang =...然后拨打Agency.refreshAttributes。但是,无法保证这在所有情况下都有效,因为refreshAttributes不是公共API的一部分。

为什么在定义模型后需要更改属性? Sequelize不支持自动更改表格,因此您需要DROP TABLE + CREATE TABLE来反映数据库中的新结构