我对NodeJ很新,但我习惯使用PHP与ORM合作。每次我部署网站时,我都会同步到数据库。前提原则:架构:在Symfony中更新--force。
但是,在Sequelize的文档中,他们给出了在每个查询之前进行同步的示例。这是一个好习惯吗?
我刚做了一个测试,可以在没有同步的情况下进行查询,所以我想知道在应用程序启动时是否只进行一次同步是一个好主意。 NodeJs开发人员如何工作?
在这个例子中,我可以做到这两点:
User.sync().then(function () {
return User.create({
firstName: 'John',
lastName: 'Hancock',
locale: 'en'
});
});
User.create({
firstName: 'John',
lastName: 'Hancock',
locale: 'en'
});
不同之处在于,在第二种情况下,我不在承诺链中,因此我无法在不创建承诺的情况下执行依赖于用户创建的任务。
谢谢;)
答案 0 :(得分:0)
s = "category: 33 ; id: AF45DA; category: 54 ; id: KF65YA; category: 60 ; id: XC36IA;"
s = s.split(";")
number_list = []
for ss in s:
if "category" in ss:
number_list.append(int(ss[10:-1]))
方法在数据库中创建缺少的表。
请参阅:http://docs.sequelizejs.com/en/v3/docs/schema/#syncing
我认为它包含在示例中,以确保它们即使在数据库中没有这些表时也能正常工作,因此您不必手动运行.sync()
。
我不会为通用代码执行此操作,尤其是在生产中,因为您通常不希望代码以静默方式更改数据库架构,您通常希望自己控制该过程。
但是对于开发来说,在更改模型时不必运行任何db迁移脚本可能会很有用,尽管我不希望它每次都能运行。