I have been reading through a good amount of the sequelize-cli documentation and can't seem to figure out how to add a column to an existing model that I have in place. I have a model called, models/team.js
and want to add a column named role_name
to the model with sequelize model:create --name team --attributes role_name:string
, but I receive a message to overwrite rather then modify:
Loaded configuration file "config/config.json".
Using environment "development".
The file /Users/user/Desktop/Projects/node/app-repo/app/models/team.js already exists. Run "sequelize model:create --force" to overwrite it.
I don't want to overwrite the file that makes me think that this isn't the right command to use. It also makes me wonder if this is not possible from the cli and must be adjusted at the migration file level.
You need a another migration file for adding the column.
In the up function you need to add
queryInterface.addColumn(
'nameOfAnExistingTable',
'nameofTheNewAttribute',
Sequelize.STRING)
In the down function you need to
queryInterface.removeColumn(
'nameOfAnExistingTable',
'nameOfTheAttribute')
Then run the migration.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With