¿Es esto posible o todo el proyecto debe ser bombardeado y rehecho?
Ejemplo: quiero agregar una columna "breedId" a una tabla de perros para hacer referencia al modelo "Breeds"
'use strict'; module.exports = { up: (queryInterface, Sequelize) => { return queryInterface.createTable('Dog', { id: { allowNull: false, autoIncrement: true, primaryKey: true, type: Sequelize.INTEGER }, name: { type: Sequelize.STRING(50), allowNull: false }, description: { type: Sequelize.STRING }, createdAt: { allowNull: false, type: Sequelize.DATE }, updatedAt: { allowNull: false, type: Sequelize.DATE } }); }, down: (queryInterface, Sequelize) => { return queryInterface.dropTable('Dog'); } };Dado que parece que está utilizando migraciones, le resultará bastante fácil agregar a sus tablas.
Cree otra migración y use queryInterface.addColumn(tableName: string, columnName: string, options: object) para subir y queryInterface.removeColumn(tableName: string, columnName: string) para bajar.
Si está utilizando sequeilze.sync() para construir sus tablas a partir de los modelos, sus opciones son peores. Debe pasar {force: true} al método .sync(), que eliminará las tablas actuales antes de reconstruirlas con los atributos de sus modelos. O bien, para conservar los datos, puede omitir {force: true} agregando manualmente las columnas y las restricciones de clave externa a la base de datos y agregando los atributos correspondientes a los modelos.