【发布时间】:2017-08-02 00:53:02
【问题描述】:
在Sequelize教程中,据说单个模型是这样生成的:
const User = sequelize.define('user', {
firstName: {
type: Sequelize.STRING
},
lastName: {
type: Sequelize.STRING
}
});
然后像这样保存(即创建表):
User.sync().then(() => {
// do whatever
});
但我希望只做一次,我只需要创建一次表。因此,下次我运行脚本时,如何检索之前使用上述代码定义的模型(即表)。
【问题讨论】:
-
您的代码已经这样做了。如果您向同步调用提供
{ force: true }选项,则同步只会每次都创建表。在您的情况下,它仅在表不存在时创建表。但请记住,如果您在初始同步后更改架构,那么 Sequelize 以后不会自动将更改添加到您的表中! -
好的,谢谢,我明白了,但这有点不合逻辑。
-
是的。 github.com/sequelize/sequelize/blob/v3/lib/dialects/postgres/… 。有兴趣的可以参考。在 Postgres 中,同步最终使用
CREATE TABLE IF NOT EXISTS。
标签: node.js orm sequelize.js