gpt4 book ai didi

postgresql - Sails js 和 Sequelize,没有关联添加到数据库

转载 作者:行者123 更新时间:2023-11-29 13:26:28 26 4
gpt4 key购买 nike

这就是我的模型在 sails 中的结构:

myapp
--api
----controllers
----models
-----User.js
------Role.js

用户.js

module.exports = {
attributes:{
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
username: {
type: Sequelize.STRING,
},
password: {
type: Sequelize.STRING,
}
},
associations: function() {
User.hasOne(Role, {foreignKey: 'id', as: 'role' });
}
};

角色.js

module.exports = {
attributes:{
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
type: Sequelize.STRING,
}
}
};

在 sails lift 之后,在 postgresql 中我有用户表,其中包含 id、用户名、密码、createdat 和 updatedat + roles 表,其中包含 id、名称、createdat 和 updatedat。用户表中的角色没有外键。

我该如何解决这个问题?我正在使用 sails-hook-sequelize 和 sails-hook-sequelize-blueprints,这会因为它们而发生吗?

谢谢!

编辑:

正确的方法是:

module.exports = {
attributes:{
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
username: {
type: Sequelize.STRING,
},
password: {
type: Sequelize.STRING,
}
},
associations: function() {
User.hasOne(Role, {
as : 'role',
foreignKey: {
name: 'roleId',
allowNull: false
}
});
}
};

最佳答案

默认添加 createdAtupdatedAt 列,除非您将 timestamps 选项设置为 false。查看docs .

要添加外键约束,需要定义associations对于角色模型。

关于postgresql - Sails js 和 Sequelize,没有关联添加到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33052750/

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