Sequealize 遵循Node.js针对不同服务器(如 Postgres、MySQL、MariaDB、SQLite 和 Microsoft SQL Server)的基于承诺的ORM。
以下是 NodeJS sequelize 的一些主要功能 -
交易支持
关系
急切和延迟加载
阅读复制和更多...
我们需要在 MySQL 和Node.js使用 Sequelize之间建立连接。
使用 sequelize 创建成功连接后,我们将需要以下三个文件进行配置。请仅在各自的文件夹中小心地创建以下文件。
SequelizeDemo > application.js
这将是我们的根文件,它将保存实际的逻辑。
SequelizeDemo>utils>database.js
这将保存与 MySQL 的所有连接详细信息。
SequelizeDemo>模型>user.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
请进行所有输入以连接您的数据库。
使用此文件来定义模型和表之间的映射。
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
要创建模型,我们可以使用两种方法中的任何一种 -
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`
现在,您可以检查您的数据库。上面的表格将被创建。