使用 Sequelize 在 NodeJS 中创建 MySQL 表

Sequelize 简介

Sequealize 遵循Node.js针对不同服务器(如 Postgres、MySQL、MariaDB、SQLite 和 Microsoft SQL Server)的基于承诺的ORM。

以下是 NodeJS sequelize 的一些主要功能 -

  • 交易支持

  • 关系

  • 急切和延迟加载

  • 阅读复制和更多...

使用 Sequelize 连接到 MySQL

  • 我们需要在 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', // 教程点
   'YOUR_DB_USER_NAME', // 根
   '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', {
   // 列 #1 的名称及其定义的属性:id
   user_id:{

      // 整数数据类型
      type:Sequelize.INTEGER,

      // 自动增加值
      autoIncrement:true,

      // user_id 不能为空。
      allowNull:false,

      // 唯一标识用户
      primaryKey:true
   },

   // 列 #2 的名称:名称
   name: { type: Sequelize.STRING, allowNull:false },

   // 第 3 列的名称:电子邮件
   email: { type: Sequelize.STRING, allowNull:false },

   // 列:时间戳
   createdAt: Sequelize.DATE,
   updatedAt: Sequelize.DATE,
})
module.exports = User

配置 app.js

要创建模型,我们可以使用两种方法中的任何一种 -

  • sync()方法- 如果存在,则仅创建模型。如果模型存在,则不会覆盖模型。

  • sync({force: true}) Method - 如果模型不存在,将创建一个新模型,但是,如果模型存在,它将覆盖现有模型。

// 导入数据库模型
const sequelize = require('./database')

// 导入用户模型
const User = require('./user')

// 创建用户中定义的所有表
sequelize.sync()

// 您可以更改user.js文件
// 并运行此代码以检查它是否覆盖了现有代码。
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`

现在,您可以检查您的数据库。上面的表格将被创建。