2
我正在使用基於node.js的REST API,並且我選擇了postgresql
數據庫來存儲數據。假設這個數據庫有兩個表名User
和Comment
。任何Comment
屬於一個User
,當我們決定刪除User
時,他/她的Comment
必須刪除。所以,我設計我的表如下:node-orm2中的REFERENCE KEY
CREATE TABLE User(
user_id SERIAL,
username VARCHAR(32) NOT NULL,
password VARCHAR(32) NOT NULL,
CONSTRAINT pk_user PRIMARY KEY (user_id),
CONSTRAINT uq_user UNIQUE (username)
)
CREATE TABLE Comment(
comment_id SERIAL,
user_id INTEGER NOT NULL,
content TEXT NOT NULL,
CONSTRAINT pk_cmnt PRIMARY KEY (comment_id),
CONSTRAINT fk_cmnt FOREIGN KEY (user_id) REFERENCES User(user_id)
ON UPDATE CASCADE ON DELETE CASCADE
)
但我不運行此代碼並使用node-orm2
來代替。我設計了兩個簡單的模型來處理這個簡單的代碼:
var User = db.define('user', {
username: {
type: 'text',
size: 32, // VARCHAR(32)
required: true, // NOT NULL
unique: true // UNIQUE INDEX
},
password: {
type: 'text',
size: 32, // VARCHAR(32)
required: true // NOT NULL
}
}, {
id: 'user_id' //SERIAL
});
var Cmnt = db.define('comment', {
content: {
type: 'text',
required: true // NOT NULL
}
}, {
id: 'comment_id' //SERIAL
});
Cmnt.hasOne('user', User, {required: true}); // CREATE ASSOCIATION KEY
,並用這些模型同步數據庫:
db.sync();
現在,我要插入新的評論屬於哪個USER_ID不存在用戶。因此,Comment
模型接受此並將該行插入comment
表。
我的問題是,我怎麼能做一些像REFERENCE KEY
和ON UPDATE CASCADE ON DELETE CASCADE
?
感謝提前:)