Eggjs学习系列(五) Sequelize的使用

本文是Eggjs学习系列的第五部分,主要介绍了如何在Eggjs项目中集成和使用Sequelize ORM框架。内容涵盖Sequelize的安装配置、Sequelize-cli的使用,包括数据库结构的迁移和种子文件,以及如何在项目中创建和使用Model。此外,还提到了如何处理typescript与sequelize的集成问题。
摘要由CSDN通过智能技术生成

Eggjs学习系列(五) Sequelize的使用

简单的数据库操作通过使用egg-mysql 插件基本上可以满足需求,而在一些较为复杂的应用中,我们可能会需要一个 ORM 框架来帮助我们管理数据层的代码。sequelize 是一个广泛使用的 ORM 框架,支持多种数据库。ORM 即使用面向对象的方式,通过操作对象来实现与数据库之前的交流,完成CRUD的动作。

安装和配置插件

由于我们使用的是 TypeScript 语言,这里采用的是 egg-sequelize-ts 插件,插件使用 sequelize-typescript 来操作数据库。

npm install --save egg-sequelize-ts mysql2

config/plugin.ts 中引入 egg-sequelize 插件

const plugin: EggPlugin = {
   
  // static: true,
  sequelize: {
   
    enable: true,
    package: 'egg-sequelize-ts',
  },
};

config/config.default.ts 中编写 sequelize 配置

import {
    EggAppConfig, EggAppInfo, PowerPartial } from 'egg';
export default (appInfo: EggAppInfo) => {
   
  const config = {
   } as PowerPartial<EggAppConfig>;
  // add your special config in here
  const bizConfig = {
   
    sequelize: {
   
      dialect: 'mysql',
      host: '127.0.0.1',
      port: 3306,
      password: 'xxx',
      database: 'egg',
    },
  }
  // the return config will combines to EggAppConfig
  return {
   
    ...config,
    ...bizConfig,
  };
};

Sequelize-cli 使用

在日常开发种,经常会遇到数据库结构发生变更的情况,这时候需要使用 Migrations 来管理数据结构的变更,以实现在不同的开发环境和迭代切换中,快速变更数据结构。

安装 sequelize-cli

npm install --save sequelize-cli

在Nodejs Web应用中建立初始的数据访问层

npx sequelize init

将创建以下文件夹:

  • config 包含配置文件,它告诉CLI如何连接数据库
  • models 包含您的项目的所有模型
  • migrations 包含所有迁移文件
  • seeders 包含所有种子文件

注意: 可以通过 .sequelizerc 设置 生成文件夹的位置。

// .sequelizerc
'use strict';

const path = require('path');

module.exports = {
   
  config: path.join(__dirname, 'database/config.json'), 
  'migrations-path': path.join(__dirname, 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值