Node.js 在sequelize中添加列而不重置数据库

Node.js 在sequelize中添加列而不重置数据库,node.js,postgresql,sequelize.js,Node.js,Postgresql,Sequelize.js,我正在使用Sequelize Postgres数据库,我知道我可以通过将列添加到模式中,然后运行Sequelize.sync({force:true})来添加列 这基本上就把我的整个数据库都扔掉了,然后创建了一个新的数据库 显然,这不会永远是一个可行的解决方案,但我无法想出如何以任何其他方式添加新列。当前,如果我向模式中添加一列并运行:sequelize.sync({force:false}),它不会抛出任何错误,但不会添加任何新列,因此我只会得到列“foo”不存在,直到我抛出整个数据库并重新开

我正在使用Sequelize Postgres数据库,我知道我可以通过将列添加到模式中,然后运行
Sequelize.sync({force:true})
来添加列

这基本上就把我的整个数据库都扔掉了,然后创建了一个新的数据库

显然,这不会永远是一个可行的解决方案,但我无法想出如何以任何其他方式添加新列。当前,如果我向模式中添加一列并运行:
sequelize.sync({force:false})
,它不会抛出任何错误,但不会添加任何新列,因此我只会得到
列“foo”不存在
,直到我抛出整个数据库并重新开始


当然有一种方法可以在不重置所有内容的情况下添加列?有没有我错过的选择?我在文件里什么地方都找不到

Sequelize包括对数据库使用迁移的功能。在现实中,这是你应该随着你的改变而构建的东西,尽管我可以理解,如果这是第一次尝试和创造的话,就不能这样做。但是,当站点投入生产时,您需要使用迁移来顺利更新数据库。 请看以下文档:


通过CLI,您可以创建新的迁移文件并对其进行编辑,以包含新字段。您仍然需要在模型文件中使用它们,就像您已经做的那样。

我不熟悉Sequelize。问:这是一个“真正的”PostgreSQL RDBMS,而您只是使用Sequalize从NodeJS访问它吗?Q:您不能直接登录数据库并发出标准SQL命令吗?您必须使用迁移。参考这个。