dukDukz
210604 Sequelize-auto 로 테이블 생성 구문 만들기 본문
기본 세팅을 마치고 (npm i express)
1. 시퀄라이즈 세팅
npm i sequelize 클래스 사용 위한 패키지
npm i mysql2 DB 접속을 위한 패키지
npm i sequelize-cli npx를 사용하기 위한 패키지 (*폴더 만들어줘야 하니까)
npx sequelize init <-- sequelize-cli //실제로 폴더를 만드는 코드
폴더 3개 생성됨
config 폴더와 DB 접속 정보 수정하기
models 폴더 = 우리가 만든 dB를 객체 하나로 담기 위해서
2. Sequelize-auto
npm install sequelize-auto
DB 데이터 베이스에 있는 테이블 구조를 가져와서 그대로 모델.js 를 만들어준다
class 라는 dB에 총 3개를 만들어준다.
터미널에
sequelize-auto -o "./models" -d class -h "localhost" -u "root" -p "3306" -x "root" -e mysql
해당 커맨드를 입력하면 기존 데이터베이스에 있는 테이블들에 해당하는 Model 파일들을 만들어준다.
-o "경로"
-d "db 이름"
-h "url"->localhost
-u "root"
-p "port"
-x "password"
-e "mysql"
[순서]
npm install sequelize-auto
sequelize-auto -o "./models" -d class -h "localhost" -u "root" -p "3306" -x "root" -e mysql
이게 안되면
npm install -g sequelize-auto
npx sequelize-auto -o "./models" -d class -h "localhost" -u "root" -p "3306" -x "root" -e mysql
이렇게 하면 테이블 생성 코드가 자동으로 만들어진다
DB의 기존 테이블을 편하게 연동하기 위해 도와주는 도구인 sequelize-auto를 사용한 것이다.
블로그 참고 https://www.hanumoka.net/2018/11/23/node-20181123-express-setting-sequelize/
curriculum.js
내가 직접 작성할 필요 없이 dB에서 읽어와서 자동으로 생성해준다.
const Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
return sequelize.define('curriculum', {
id: {
autoIncrement: true,
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true
},
subject: {
type: DataTypes.STRING(100),
allowNull: false
},
start_date: {
type: DataTypes.DATEONLY,
allowNull: false
},
end_date: {
type: DataTypes.DATEONLY,
allowNull: false
},
content: {
type: DataTypes.TEXT,
allowNull: true
}
}, {
sequelize,
tableName: 'curriculum',
timestamps: false,
indexes: [
{
name: "PRIMARY",
unique: true,
using: "BTREE",
fields: [
{ name: "id" },
]
},
]
});
};
'웹 개발 > DB | MYSQL' 카테고리의 다른 글
2021.06.03 DB - LEFT JOIN (4) | 2021.06.03 |
---|---|
210506 Sequelize 상세 설명 (0) | 2021.05.06 |
210504 MVC / Sequelize 시퀄라이즈 활용하기 (0) | 2021.05.04 |
210503 테이블 여러개 JOIN ON (0) | 2021.05.03 |
21.04.28 DB Connection pool (0) | 2021.04.30 |