Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

Sequelize를 사용하여 NodeJS에서 MySQL 테이블 만들기

<시간/>

속편화 소개

Sequealize는 Postgres, MySQL, MariaDB, SQLite 및 Microsoft SQL Server와 같은 다양한 서버에 대한 약속 기반 Node.js ORM을 따릅니다.

다음은 NodeJS 후속작의 주요 기능 중 일부입니다 -

  • 거래 지원

  • 관계

  • 열렬하고 게으른 로딩

  • 복제 등 읽기...

Sequelize를 사용하여 MySQL에 연결

  • Sequelize를 사용하여 MySQL과 Node.js 간에 연결을 설정해야 합니다.

  • Sequelize로 성공적인 연결을 생성한 후 구성을 위해 다음 세 개의 파일이 필요합니다. 각 폴더에만 다음 파일을 신중하게 생성하십시오.

    • SequelizeDemo> application.js

      이것은 실제 로직을 담을 루트 파일이 될 것입니다.

    • SequelizeDemo>utils>database.js

      이것은 MySQL에 대한 모든 연결 세부 정보를 보유합니다.

    • SequelizeDemo>models>user.js

      여기에는 필수 모델 정보가 포함됩니다.

예시

Database.js 구성

const Sequelize = require('sequelize')
const sequelize = new Sequelize(
   'YOUR_DB_NAME', // TutorialsPoint
   'YOUR_DB_USER_NAME', // root
   'YOUR_DB_PASSWORD', //root{
      dialect: 'mysql',
      host: 'localhost'
   }
);
module.exports = sequelize

데이터베이스 연결을 위한 모든 정보를 입력하십시오.

User.js 구성

이 파일을 사용하여 모델과 테이블 간의 매핑을 정의합니다.

const Sequelize = require('sequelize')
const sequelize = require('../utils/database')
const User = sequelize.define('user', {
   // Name of Column #1 and its properties defined: id
   user_id:{

      // Integer Datatype
      type:Sequelize.INTEGER,

      // Increment the value automatically
      autoIncrement:true,

      // user_id can not be null.
      allowNull:false,

      // To uniquely identify user
      primaryKey:true
   },

   // Name of Column #2: name
   name: { type: Sequelize.STRING, allowNull:false },

   // Name of Column #3: email
   email: { type: Sequelize.STRING, allowNull:false },

   // Column: Timestamps
   createdAt: Sequelize.DATE,
   updatedAt: Sequelize.DATE,
})
module.exports = User

app.js 구성

모델을 생성하기 위해 두 가지 방법 중 하나를 사용할 수 있습니다.

  • sync() 메서드 − 존재하는 경우에만 모델을 생성합니다. 모델이 존재하는 경우 모델을 덮어쓰지 않습니다.

  • sync({force:true}) 메서드 − 모델이 존재하지 않는 경우 새로운 모델을 생성하고, 모델이 존재하는 경우 기존 모델을 덮어씁니다.

// Importing the database model
const sequelize = require('./database')

// Importing the user model
const User = require('./user')

// Creating all the tables defined in user
sequelize.sync()

// You can change the user.js file
// And run this code to check if it overwrites the existing code.
sequelize.sync({force:true)
를 덮어쓰는지 확인합니다.

출력

위의 프로그램을 실행하면 다음과 같은 출력이 표시됩니다. -

C:\\Users\SequelizeDemo>> node app.js
Executing (default): CREATE TABLE IF NOT EXISTS `users` (`user_id` INTEGER NOT NULL auto_increment , `name` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, `createdAt` DATETIME, `updatedAt` DATETIME, PRIMARY KEY (`user_id`)) ENGINE=InnoDB;
Executing (default): SHOW INDEX FROM `users`

이제 데이터베이스를 확인할 수 있습니다. 위의 테이블이 생성되었을 것입니다.