Sequelize: Alterando o esquema do modelo na produção

Estamos usando o ormsequelize.js e definimos um modelo como tal:

module.exports = function(sequelize, DataTypes) {
    var Source = sequelize.define('Source', {
        name: {
            type: DataTypes.STRING, 
            allowNull: false, 
            unique: true
        }
    }, {
        paranoid: true
    });

    return Source;
};

Isso é implantado para produção e sincronizado com o banco de dados usandosequelize.sync. Próximo passo, nós adicionamos um parâmetro:

module.exports = function(sequelize, DataTypes) {
    var Source = sequelize.define('Source', {
        name: {
            type: DataTypes.STRING, 
            allowNull: false, 
            unique: true
        }, 
            location: {
                    type: DataTypes.STRING
            }
    }, {
        paranoid: true
    });

    return Source;
};

No entanto, ao implantar para produçãosequelize.sync não adiciona este novo parâmetro. Isto é porquesync faz um:

CREATE TABLE IF NOT EXISTS

E, na verdade, não atualiza o esquema se a tabela existir. Isto éanotado em sua documentação.

A única opção parece ser{ force: true }No entanto, isso não é bom para um banco de dados de produção.

Alguém sabe como atualizar corretamente o esquema quando as alterações são necessárias?

questionAnswers(1)

yourAnswerToTheQuestion