Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การสร้างตาราง MySQL ใน NodeJS โดยใช้ Sequelize


บทนำสู่ภาคต่อ

Sequealize เป็นไปตาม ORM ของ Node.js ตามสัญญาสำหรับเซิร์ฟเวอร์ต่างๆ เช่น Postgres, MySQL, MariaDB, SQLite และ Microsoft SQL Server

ต่อไปนี้เป็นคุณสมบัติหลักบางประการของ NodeJS ภาคต่อ -

  • รองรับการทำธุรกรรม

  • ความสัมพันธ์

  • กระตือรือร้นและขี้เกียจโหลด

  • อ่านการจำลอง และอื่นๆ...

การเชื่อมต่อกับ MySQL โดยใช้ Sequelize

  • เราจำเป็นต้องสร้างการเชื่อมต่อระหว่าง MySQL และ Node.js โดยใช้ Sequelize

  • หลังจากสร้างการเชื่อมต่อที่ประสบความสำเร็จด้วย sequelize เราจำเป็นต้องมีไฟล์สามไฟล์ต่อไปนี้สำหรับการกำหนดค่า โปรดสร้างไฟล์ต่อไปนี้อย่างระมัดระวังในโฟลเดอร์ที่เกี่ยวข้องเท่านั้น

    • SequelizeDemo> application.js

      นี่จะเป็นไฟล์รูทของเราซึ่งจะเก็บตรรกะที่แท้จริงไว้

    • SequelizeDemo>utils>database.js

      ซึ่งจะเก็บรายละเอียดการเชื่อมต่อกับ MySQL ทั้งหมด

    • SequelizeDemo>รุ่น>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

ในการสร้างแบบจำลอง เราสามารถใช้หนึ่งในสองวิธี -

  • วิธีซิงค์ () − สร้างแบบจำลองเท่านั้นหากมีอยู่ หากมีโมเดลอยู่ จะไม่เขียนทับโมเดล

  • ซิงค์ ({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`

ตอนนี้คุณสามารถตรวจสอบฐานข้อมูลของคุณ ตารางด้านบนจะถูกสร้างขึ้น