본문 바로가기

Database/Sequelize

(3)
시퀄라이즈 관계 설정과 join해서 불러오는 방법 (Associations, Eager Loading) 시퀄라이즈에서 일대일, 일대다, 다대다 관계를 설정하는 방법을 다룬다. const A = sequelize.define('A', /* ... */); const B = sequelize.define('B', /* ... */); A.hasOne(B); B.belongsTo(A); 위 두 메소드를 호출하면 시퀄라이즈는 자동으로 적당한 테이블에 foreign 칼럼을 생성해준다. '다' 관계를 설정해주는 아래의 메소드들도 있다. A.hasMany(B); A.belongsToMany(B, { through: 'C' }); // A와 B의 다대다 관계 설정을 위해 C 테이블을 자동으로 생성해주기까지 한다. 1. 일대일 관계 설정은 보통 패어로 이뤄진다. 그래야 각 테이블에 해당하는 두 인스턴스가 서로의 관계를 알..
시퀄라이즈 모델 (Model Basics) 시퀄라이즈에서 모델이라는 개념이 생소하다. 데이터베이스의 테이블을 객체화 시킨 거라고 생각하면 쉽다. 모델을 생성하려면 다음을 입력한다. const { Sequelize, DataTypes } = require('sequelize'); const sequelize = new Sequelize(/* ... */); const User = sequelize.define('User', { name: { type: DataTypes.STRING, allowNull: false }, email: { type: DataTypes.STRING } }, { // Other model options go here }); 여기서 생성한 User를 가지고 테이블을 다룰 수 있다. 다만 User 자체가 데이터베이스의 테이블은..
시퀄라이즈 시작 (Getting Started) 처음 접하기에 까다로운 시퀄라이즈를 한 번 정리해보겠다. 매뉴얼에서 필요하다고 생각하는 부분만 다룰 테니 나머지는 아래 링크를 따라가면 되겠다. https://sequelize.org/master/manual/getting-started.html 1. 시퀄라이즈를 설치한다. npm install --save sequelize 2. MySQL을 설치한다. 다른 데이터베이스는 매뉴얼을 참고하자. npm install --save mysql2 3. 데이터베이스를 연결한다. const sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'mysql' }); 4. 연결이 잘 됐는지를 확인할 수 있다. ..