在现有的表中添加新的列

我有一个数据库中的表,现在我想添加两个新的列。 我使用MYSQL cmd line更改了表格,并将新添加的列添加到Sequelize模型中。

但是,当我触发插入查询,它仍然触发与以前的字段的查询,并没有把新添加的列添加到它。

这里是我的数据模型:

 var Observation = sequelize.define('observation_details', { obv_id: { type: Sequelize.INTEGER, primaryKey: true }, obv_source: Sequelize.STRING, obv_waveband: Sequelize.INTEGER, prpsl_id: Sequelize.INTEGER, obv_ra: Sequelize.DOUBLE, //newly added column obv_dec: Sequelize.DOUBLE // newly added column }, { tableName: 'observation_details', timestamps: false }); 

这就是数据库在数据库中的外观

这里在表obv_raobv_dec已经添加..!

这是插入查询:

 Observation.create({ obv_source: req.body.obvDetails[i].source, obv_waveband: req.body.obvDetails[i].waveband, prpsl_id: proposalId, obv_ra: req.body.obvDetails[i].ra, obv_dec: req.body.obvDetails[i].dec }) 

添加Sequelize.sync({force:false})结果在:

执行(默认):CREATE TABLE IF NOT EXISTS observation_details(obv_id INTEGER,obv_source VARCHAR(255),obv_waveband INTEGER,prpsl_id INTEGER,obv_ra DOUBLE PRECISION,obv_dec DOUBLE PRECISION,PRIMARY KEY(obv_id))ENGINE = InnoDB;

但仍然被解雇的是:

执行(默认):INSERT INTO observation_details(obv_id,obv_source,obv_waveband,prpsl_id)VALUES(NULL,dgf,2,19);

有没有办法解决这个问题,而不使用Migrations

我想如果你愿意丢失所有的数据,你可以删除并重新从头开始。

你也可以在创build之前做一些奇特的逻辑来检查磁盘上的表的模式,以及你期望从模型中得到的结果,并根据需要添加/删除列,但是在那一点上,你只是重新实现了一个不太灵活的版本Migrations 。 除非有令人信服的理由,否则您应该使用Migrations