【发布时间】:2021-12-31 17:48:48
【问题描述】:
我正在使用 Sequelize Postgres 数据库,我知道我可以通过将列添加到我的架构中来添加列,然后运行 sequelize.sync({ force: true })。
这基本上会丢弃我的整个数据库并创建一个新数据库。
显然,这不会永远是一个可行的解决方案,但我不知道如何以任何其他方式添加新列。目前,如果我在架构中添加一列并运行:sequelize.sync({ force: false }),它不会引发任何错误,但不会添加任何新列,所以我只会得到column "foo" does not exist,直到我扔掉整个数据库并重新开始.
当然有没有办法在不重置所有内容的情况下添加一列?有没有我错过的选项?我在文档中的任何地方都找不到它。
【问题讨论】:
-
我不熟悉 Sequelize。问:这是一个“真正的”PostgreSQL RDBMS,而您只是使用 Sequalize 从 NodeJS 访问它? Q:不能直接登录数据库,给标准SQL命令ALTER DATABASE ADD COLUMN...吗?
-
你必须使用迁移。参考这个。 medium.com/javascript-in-plain-english/…
标签: node.js postgresql sequelize.js