-
[Node.js] 4일차교육 2019. 9. 11. 01:46
수업 내용 정리
- ORM
- 모델 간의 관계
ORM (Object Relational Mapping)
- 객체 지향 프로그래밍 언어와 관계형 DB 간의 매핑을 지원하는 프로그래밍 기술
- Object-relational mapping (ORM) in computer science is a programming technique for converting data.........~
- 객체와 관계형 DB의 테이블 간에 불일치를 해결해줌 (중간 다리 역할)
Sequelize
- 프로미스 기반 Node.js ORM 라이브러리
- Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server.
모델 관계 설정
- associate안에 적어줌
let Products = sequelize.define('Products', { id: {type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true}, name: {type: DataTypes.STRING}, thumbnail: {type: DataTypes.STRING}, price: {type: DataTypes.INTEGER}, description: {type: DataTypes.TEXT} }, { // 옵션 설정 timestamps: true, underscored: true }); // Product 모델 관계도 Products.associate = (models) => { // Memo 모델에 외부키를 둠 // onDelete 옵션이 'CASCADE'인 경우 제품이 삭제되면 자신의 메모들도 전부 삭제됨 Products.hasMany(models.ProductsMemo, { // as에 따라 함수명이 변경됨 (as 중요함) as: 'Memo', foreignKey: 'product_id', sourceKey: 'id', onDelete: 'CASCADE' }); Products.belongsTo(models.User, { as: 'Owner', foreignKey: 'user_id', targetKey: 'id' }); };
참고
'교육' 카테고리의 다른 글
[Node.js] 10일차 (0) 2019.09.25 [Node.js] 8일차 (2) 2019.09.18 [Node.js] 3일차 (0) 2019.08.28 [Node.js] 2일차 (0) 2019.08.23 [Node.js] 1일차 (0) 2019.08.21