node.js를 기반으로하는 REST API에서 데이터를 저장하기 위해 postgresql
데이터베이스를 선택했습니다. 이 데이터베이스에 User
과 Comment
의 두 테이블 이름이 있다고 가정합니다. Comment
은 (는) User
에 속하므로 User
을 제거하기로 결정한 경우 Comment
명의 사용자를 삭제해야합니다. 그래서 다음과 같이 테이블을 디자인했습니다 :노드 -orm2의 참조 키
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
같은 것을 어떻게 할 수 있습니까?