Nodejs / PostgreSQL sequelize - 如何更新/更改数据库中的模型?
Posted
技术标签:
【中文标题】Nodejs / PostgreSQL sequelize - 如何更新/更改数据库中的模型?【英文标题】:Nodejs / PostgreSQL sequelize - How to update /change a model in the database? 【发布时间】:2017-04-28 22:08:45 【问题描述】:我使用 sequelize 创建了一个模型(代码如下),但不明白如何更新模型。当我更改模型时,旧模型(带有名称、num_stars 和便利设施)仍然出现在我的数据库中,我想只要我使用 -sync() - 我确实会更新模型更改,但显然不是。任何人都可以帮忙吗?谢谢!
我的 postgreSQL 模型:db/index.js:
var db = new Sequelize('postgres://localhost:5432/ajax',
logging: false
);
var Hotel = db.define('hotel',
name: Sequelize.STRING,
num_stars:
type: Sequelize.INTEGER,
validate: min: 1, max: 5
,
amenities: Sequelize.STRING
)
module.exports=Hotel;
server.js 的一部分
app.listen(1337, function ()
db.sync()
.then(function()
console.log('Server listening!');
);
);
【问题讨论】:
我不打算回答,因为迁移是非常特定于应用程序的,但这就是 Sequelize 迁移 (docs.sequelizejs.com/en/latest/docs/migrations) 的全部原因。您编写代码来定义新方案与旧方案的关系,Sequelize 通过它运行您的所有数据,确保根据您的规则对其进行处理。 【参考方案1】:在 Sequelize.js 中,更新模型属于迁移进度,我知道如何做到这一点的唯一方法是通过 Sequelize CLI (npm install -g seqelize-cli)。 This previous post 应该会给你所有你需要的答案!
【讨论】:
【参考方案2】:刚刚发现我所要做的就是添加 -sync: true -
var db = new Sequelize('postgres://localhost:5432/ajax',
logging: false,
sync: true
);
【讨论】:
以上是关于Nodejs / PostgreSQL sequelize - 如何更新/更改数据库中的模型?的主要内容,如果未能解决你的问题,请参考以下文章
NodeJS,将来自 MySQL 和 PostgreSQL 的数据存储在 SQLite 中
如何以正确的方式将 PostgreSQL 连接到 NodeJS? [复制]
使用 PostgreSQL/NodeJS 获取 JOIN 表作为结果数组