[英]How to add Foreign Key and Cascade properties with Sequelize?
我想用 Sequelize 為我的 express.js Model 實現這個 MySQL 查詢。
CREATE TABLE `Serivce_Area` (
`service_area_id` int auto_increment primary key,
`service_id` int not null,
`area_id` int not null,
FOREIGN KEY (service_id) REFERENCES Service_Credential(service_id) ON UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (area_id) REFERENCES Area_Details(area_id) ON UPDATE CASCADE ON DELETE CASCADE
);
在這里,我還有另外兩個名為 Service_Credential 和 Area_Details 的表,其中兩個主鍵分別命名為 service_id 和 area_id。 這就是我所做的。
const serviceArea = sequelize.define('Serivce_Area', {
service_area_id: {
type: Sequelize.INTEGER,
autoIncrement: true,
allowNull: false,
primaryKey: true
},
service_id:{
type: Sequelize.INTEGER,
allowNull: false
},
area_id: {
type: Sequelize.INTEGER,
allowNull: false
},
});
但是我在添加外鍵和級聯屬性時遇到了麻煩。 我已經檢查了文檔。 但我仍然不知道該怎么做。 此外,一些stackoverflow答案包含belongsTo
和hasMany
屬性,我不確定如何在這種情況下使用。 請幫我解決一下這個。
我的朋友幫我解決了這個問題。 它奏效了。
service_area_id: {
type: DataTypes.INTEGER(11),
allowNull: false,
primaryKey: true,
autoIncrement: true
},
service_id: {
type: DataTypes.INTEGER(11),
allowNull: false,
references: {
model: 'Service_Credential',
key: 'service_id'
}
},
area_id: {
type: DataTypes.INTEGER(11),
allowNull: false,
references: {
model: 'Area_Details',
key: 'area_id'
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.