gpt4 book ai didi

node.js - NodeJs 和 Sequelize : when to sync?

转载 作者:太空宇宙 更新时间:2023-11-03 22:27:43 25 4
gpt4 key购买 nike

我对 NodeJs 还很陌生,但我习惯于使用 PHP 来处理 ORM。每次部署站点时,我都会同步到数据库。 Ex 原则:schema:update --force 在 Symfony 中时。

但是,在 Sequelize 的文档中,他们给出了在每个查询之前完成同步的示例。这是一个好的做法吗?

我刚刚做了一个测试,可以在没有同步的情况下进行查询,所以我想知道在应用程序启动时仅进行一次同步是否是一个好主意。 NodeJs 开发人员习惯如何工作?

在此示例中,我可以同时执行以下两项操作:

User.sync().then(function () {
return User.create({
firstName: 'John',
lastName: 'Hancock',
locale: 'en'
});
});

User.create({
firstName: 'John',
lastName: 'Hancock',
locale: 'en'
});

不同之处在于,在第二种情况下,我不在 promise 链中,因此如果不自己创建 promise ,我就无法执行依赖于用户创建的任务。

谢谢;)

最佳答案

.sync() 方法在数据库中创建缺失的表。

参见:http://docs.sequelizejs.com/en/v3/docs/schema/#syncing

我认为它包含在示例中是为了确保即使数据库中还没有这些表,它们也能正常工作,因此您不必运行 create table手动。

对于一般代码,尤其是在生产中,我不会这样做,因为您通常不希望代码默默地更改数据库架构,您通常希望自己控制该过程。

但是对于开发来说,更改模型时不必运行任何数据库迁移脚本可能会很有用,尽管我不希望它每次都能工作。

关于node.js - NodeJs 和 Sequelize : when to sync?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43319350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com