使用 Sequelize 在 NodeJS 中创建 MySQL 表
Sequelize简介
Sequealize遵循Node.js针对不同服务器(如Postgres、MySQL、MariaDB、SQLite和MicrosoftSQLServer)的基于承诺的ORM。
以下是NodeJSsequelize的一些主要功能-
交易支持
关系
急切和延迟加载
阅读复制和更多...
使用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`
现在,您可以检查您的数据库。上面的表格将被创建。