Si encuentras algo que no entiendes puedes dejarlo en la sección de comentarios y te ayudaremos lo más rápido posible.
Solución:
Para agregar nuevos campos a la tabla, debemos usar el esqueleto de migración como se muestra a continuación.
sequelize migration:create --name Users
Abra el archivo de migración y agregue los siguientes códigos
module.exports =
up: function (queryInterface, Sequelize)
return [ queryInterface.addColumn(
'Users',
'gender',
Sequelize.STRING
),
queryInterface.addColumn(
'Users',
'age',
Sequelize.STRING
)];
,
down: function (queryInterface, Sequelize)
// logic for reverting the changes
;
Luego solo ejecuta la migración
node_modules/.bin/sequelize db:migrate
Nota: El pasado interfaz de consulta El objeto se puede utilizar para modificar la base de datos. El Secuela El objeto almacena los tipos de datos disponibles, como STRING o INTEGER.
Lista completa de métodos en la interfaz de consulta
Espero que esto ayude. Si tienes algún problema, házmelo saber.
La respuesta de Suvethan es correcta, pero el fragmento de código de migración tiene un error menor. Las migraciones de Sequelize esperan que se devuelva una promesa, que se indica en un comentario en el esqueleto de migración generado:
Add altering commands here.
Return a promise to correctly handle asynchronicity.
Example:
return queryInterface.createTable('users', id: Sequelize.INTEGER );
Entonces, devolver un array de promesas puede conducir potencialmente a resultados inesperados porque no hay garantía de que todas las promesas se hayan resuelto antes de pasar a la siguiente migración. Para la mayoría de las operaciones, es poco probable que tenga problemas, ya que la mayoría de las cosas se completarán antes de que Sequelize cierre el proceso. Pero creo que es mejor prevenir que lamentar cuando se trata de migraciones de bases de datos. Todavía puede aprovechar la array de promesas; solo tienes que envolverlo en un Promise.all
llamar.
El ejemplo de Suvethan, pero con Promise.all:
module.exports =
up: function (queryInterface, Sequelize)
return Promise.all([
queryInterface.addColumn(
'Users',
'gender',
Sequelize.STRING
),
queryInterface.addColumn(
'Users',
'age',
Sequelize.STRING
)
]);
,
down: function (queryInterface, Sequelize)
// logic for reverting the changes
;
Nos encantaría que puedieras comunicar esta noticia si te ayudó.