Sequelize에 대한공부- Model Instance
초보개발자입니다. 틀린부분이 있다면 언제든지 말씀해주시면 감사합니다!
공식문서의 Model Instance 에 대해 알아보겠다.
const { Sequelize, Model, DataTypes } = require("sequelize");
const sequelize = new Sequelize("sqlite::memory:");
const User = sequelize.define("user", {
name: DataTypes.TEXT,
favoriteColor: {
type: DataTypes.TEXT,
defaultValue: 'green'
},
age: DataTypes.INTEGER,
cash: DataTypes.INTEGER
});
(async () => {
await sequelize.sync({ force: true });
// Code here
})();
공식문서에 제일 먼저 나온 설정
가장 먼저 나온것은 인스턴스를 만들고 DB에 저장하는 방법에 대해 나온다.
User talbe을 만들어준 뒤 그 뒤에 이름이 'Jane'인 레코드를 만들어주는 코드
//편의상 Code here 부분만 작성
(async () => {
await sequelize.sync({ force: true });
const jane = User.build({ name: "Jane" });
console.log(jane instanceof User); // true
console.log(jane.name); // "Jane"
await jane.save();
console.log('Jane was saved to the database!');
})();
결과물
User 테이블을 만들어 놓고 build를 하면 입력한 내용에 따른 레코드를 만들 수 있다. 하지만 이것이 테이블에 저장되는 것은 아니고 .save
를 해야 위의 mysql처럼 등록된다.
위 두가지를 한번에 할 수 있는 방법은 .create
가 있다.
const jane = await User.create({ name: "Jane" });
// Jane exists in the database now!
console.log(jane instanceof User); // true
console.log(jane.name); // "Jane"
다음은 만들어놓은 jane 의 로그를 보는 법이다.
const jane = await User.create({ name: "Jane" });
// console.log(jane); // Don't do this
console.log(jane.toJSON()); // This is good!
console.log(JSON.stringify(jane, null, 4)); // This is also good!
.toJSON
을 구별하기 위해 앞에 111111을 붙였고 Jane에 대한 정보를 정확하게 볼 수 있다. 입력하지 않은 id,createdAt,updatedAt 까지 모두
그외에도
기본값, 수정, 삭제, 리로드, integer 값 변경하는 법에 대해 나와있다.
다음에는 Model querying에 대해 알아보겠다.
Author And Source
이 문제에 관하여(Sequelize에 대한공부- Model Instance), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@source39/Sequelize에-대한공부-Model-Instance저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)