更改数据库模型 - Sequelize
Posted
技术标签:
【中文标题】更改数据库模型 - Sequelize【英文标题】:Making change in database model - Sequelize 【发布时间】:2018-04-29 20:55:00 【问题描述】:我是初学者,我正在为我的数据库使用 Sequelize。我创建了模型,创建后进行了迁移,然后添加了模拟和种子,但意识到我对两个属性的数据类型犯了一个错误。我需要改变它,但我不确定这样做的正确方法是什么。
我必须:
sequelize db:migrate:undo
然后在模型中进行更改然后运行迁移?
还是我必须删除模型并重新创建它?
我想,我不完全确定迁移在计划中的作用。
【问题讨论】:
【参考方案1】:迁移将生成 sql 查询并创建数据库表。
模型告诉 sequelize 上述迁移创建的表。例如,当您执行 User.create() 时,sequelize 需要知道表的详细信息才能将其转换为 sql 查询。
我觉得作为初学者,您最好自己创建迁移,而不是使用模型来生成迁移。
来到你的问题,你可以放心地使用sequelize db:migrate:undo
删除表格。
据我所知,sequelize db:migrate:undo
方法与您的模型无关,因此在迁移之前或之后编辑它都没有关系。
为了安全起见,您可以先使用 migrate:undo 删除表,然后编辑模型并再次运行迁移。
【讨论】:
我不确定迁移会受到什么影响,但您的解释有助于说明这一点。谢谢!以上是关于更改数据库模型 - Sequelize的主要内容,如果未能解决你的问题,请参考以下文章
提交更改后,是不是有通用方法让 EF 返回新模型数据和关联的模型数据?
Nodejs / PostgreSQL sequelize - 如何更新/更改数据库中的模型?