Node.js MySQL-Crear tabla usando Sequelize

Introducción a Sequelize: Sequelize es un ORM de Node.js basado en promesas para Postgres, MySQL, MariaDB, SQLite y Microsoft SQL Server. Sus características son un sólido soporte de transacciones, relaciones, carga ansiosa y diferida, replicación de lectura y muchas más.

Conéctese a la base de datos MySql usando Sequelize: 

  • Para establecer una conexión entre MySQL y Node.js usando Sequelize , visite Cómo usar Sequelize en Node.js.
  • Después de conectarnos con éxito, habríamos requerido tres archivos:
    1. SequelizeDemo>app.js , que es nuestro archivo raíz.
    2. SequelizeDemo>utils>database.js que es responsable de la conexión MySql.
    3. SequelizeDemo>models>user.js que se encarga de definir el modelo.

Configurar base de datos.js: SequelizeDemo>utils>database.js 

  • Establecer conexión es la forma mencionada en el artículo Cómo usar Sequelize en Node.js y ahora, podemos usar ese objeto de secuenciación exportado desde SequelizeDemo>utils>database.js para definir nuestros modelos.

Nota: asegúrese de que la base de datos que está utilizando esté creada en su base de datos.

database.js file will look like this.

Configurar usuario.js:  

  • Use el archivo SequelizeDemo>models>user.js para definir asignaciones entre un modelo y una tabla, use el método de definición.

Javascript

// Include Sequelize module.
const Sequelize = require('sequelize')
  
// Import sequelize object, 
// Database connection pool managed by Sequelize.
const sequelize = require('../utils/database')
  
// Define method takes two arguments
// 1st - name of table
// 2nd - columns inside the table
const User = sequelize.define('user', {
  
    // Column-1, user_id is an object with 
    // properties like type, keys, 
    // validation of column.
    user_id:{
  
        // Sequelize module has INTEGER Data_Type.
        type:Sequelize.INTEGER,
  
        // To increment user_id automatically.
        autoIncrement:true,
  
        // user_id can not be null.
        allowNull:false,
  
        // For uniquely identify user.
        primaryKey:true
    },
  
    // Column-2, name
    name: { type: Sequelize.STRING, allowNull:false },
  
    // Column-3, email
    email: { type: Sequelize.STRING, allowNull:false },
  
    // Column-4, default values for
    // dates => current time
    myDate: { type: Sequelize.DATE, 
            defaultValue: Sequelize.NOW },
  
     // Timestamps
     createdAt: Sequelize.DATE,
     updatedAt: Sequelize.DATE,
})
  
// Exporting User, using this constant
// we can perform CRUD operations on
// 'user' table.
module.exports = User
  • Para obtener más información sobre los tipos de datos Sequelize, visite Tipos de datos .
  • En el archivo SequelizeDemo>models>user.js , hemos definido el modelo.

Configurar app.js:  

  • Nombre de archivo => SequelizeDemo>app.js 
  • Para crear el modelo, podemos usar una de las siguientes formas: 
    • Método sync(): este método creará un modelo si el modelo no existe; sin embargo, si ya existe, no lo sobrescribirá.
    • Método sync({force:true}): este método creará un modelo si el modelo no existe; sin embargo, si ya existe, lo sobrescribirá. 

Javascript

// Import the sequelize object on which 
// we have defined model. 
const sequelize = require('./utils/database') 
    
// Import the user model we have defined 
const User = require('./models/user) 
    
// Create all the table defined using  
// sequelize in Database 
    
// Sync all models that are not 
// already in the database 
sequelize.sync()  
    
// Force sync all models 
// It will drop the table first  
// and re-create it afterwards 
sequelize.sync({force:true})
  • Sincronización de base de datos: al iniciar un nuevo proyecto, no tendrá una estructura de base de datos y al usar Sequelize no necesitará hacerlo. Simplemente especifique las estructuras de su modelo y deje que la biblioteca haga el resto.

Pasos para ejecutar el programa:  

  • La estructura del proyecto se verá así: 
     

Project Structure

  • Instale los módulos necesarios para este proyecto: 
npm install mysql2
npm install sequelize
  • Ejecute app.js (archivo raíz) usando el siguiente comando: 
node app.js

Output

  • En la base de datos MySql, ahora podemos describir el modelo de usuario que hemos creado usando Sequelize. Usa los siguientes comandos 
use database geeksforgeeks
desc users;

db

Publicación traducida automáticamente

Artículo escrito por kartikmukati y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *