Computer >> Máy Tính >  >> Lập trình >> MySQL

Tạo bảng MySQL trong NodeJS bằng cách sử dụng Sequelize

Giới thiệu về Sequelize

Sequealize tuân theo ORM dựa trên hứa hẹn của Node.js cho các máy chủ khác nhau như - Postgres, MySQL, MariaDB, SQLite và Microsoft SQL Server.

Sau đây là một số tính năng chính của phần tiếp theo NodeJS -

  • Hỗ trợ giao dịch

  • Mối quan hệ

  • Đang tải háo hức và lười biếng

  • Đọc Nhân bản và hơn thế nữa ...

Kết nối với MySQL bằng Sequelize

  • Chúng ta cần thiết lập kết nối giữa MySQL và Node.js bằng cách sử dụng Sequelize.

  • Sau khi tạo kết nối thành công với phần tiếp theo, chúng tôi sẽ yêu cầu ba tệp sau để cấu hình. Hãy cẩn thận tạo các tệp sau chỉ trong các thư mục tương ứng của chúng.

    • SequelizeDemo> application.js

      Đây sẽ là tệp gốc của chúng tôi, tệp này sẽ chứa logic thực tế.

    • SequelizeDemo> utils> database.js

      Điều này sẽ giữ tất cả các chi tiết kết nối với MySQL.

    • SequelizeDemo> models> user.js

      Điều này sẽ chứa thông tin mô hình được yêu cầu.

Ví dụ

Định cấu hình 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

Vui lòng thực hiện tất cả các đầu vào để kết nối với cơ sở dữ liệu của bạn.

Định cấu hình User.js

Sử dụng tệp này để xác định ánh xạ giữa mô hình và bảng.

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

Định cấu hình app.js

Để tạo một mô hình, chúng ta có thể sử dụng bất kỳ một trong hai phương pháp -

  • Phương thức sync () - Chỉ tạo mô hình nếu tồn tại. Nếu mô hình tồn tại, nó sẽ không ghi đè lên mô hình.

  • Phương pháp đồng bộ hóa ({force:true}) - Sẽ tạo một mô hình mới nếu mô hình đó không tồn tại, tuy nhiên, nếu mô hình tồn tại, nó sẽ ghi đè lên mô hình hiện có.

// 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)

Đầu ra

Khi chạy chương trình trên, bạn sẽ nhận được Kết quả sau -

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`

Bây giờ, bạn có thể kiểm tra cơ sở dữ liệu của mình. Bảng trên sẽ được tạo.