node用express写后端restful接口实战二:用sequelize的操作数据库,sequelize的安装,创建数据库

Sequelize 是什么?

在 Node.js 世界,最简单的操作数据库的方式,是使用 Sequelize。Sequelize 是一个基于 promise 的 Node.js ORM,它具有强大的事务支持,关联关系,预读和延迟加载,读取复制等功能。Sequelize,其实除了支持MySQL外,还可以支持以下这些数据库:

  1. Postgres
  2. MariaDB
  3. SQLite
  4. Microsoft SQL Server

1.安装

$ cnpm install sequelize -S
$ cnpm install mysql2 -S
$ cnpm install sequelize-cli -g
$ sequelize init
  • 进入自己项目路径后,需要同时安装 sequelize 和 mysql2。这样才能正常操作 MySQL 数据库。最后,咱们安装了 sequelize-cli,这个和上一集用到的 express-generator 类似,是用来通过命令创建 sequelize 需要的目录和相关代码的。

  • Tips: 这里安装 sequelize-cli 使用的是 -g 参数,将它安装成全局的了。这样就可以在任意的 Node.js 项目中都直接运行 sequelize 命令,而不用每一个项目都单独安装。

  • 最后一个命令,是初始化项目。

sequelize的初始化后目录结构

.
├── config
│   └── config.json
├── migrations
├── models
│   └── index.js
└── seeders

初始化项目后,在项目文件夹中发现又新增了这么多新目录。

  1. config 是配置的意思,这里放的也就是 sequelize 所需要的连接数据库的配置文件。

  2. migrations 是迁移的意思,如果你需要对数据库做新增表、修改字段、删除表等等操作,就需要在这里添加 迁移文件 了

  3. models 里面存放的是模型文件,我们使用 sequelize 来执行 CURD,也就是 创建、修改、读取、删除数据,就需要用这里的模型了。每个模型都对应数据库中的一张表。

  4. seeders,是存放的种子文件。一般会将一些需要添加到数据表的测试数据存在这里。只需要运行一个命令,数据表中就会自动填充进测试内容了。

  5. 以上这些东东,我们下一节会一一用到,这一节大家只需要了解,当运行了 sequelize init 以后,生成的目录中有哪些东西就好了。

2.创建数据库

下面要做的是创建一个 blog 项目所需要的数据库,

首先要把数据库mysql服务运行起来,可用系统安装的,也可用phpstudy里的,随便启动一个即可

1.先来修改下 config/config.json

可以看到这里有三段配置,在不同环境中,程序就会运行不同的配置。

环境 说明
development 开发环境,项目开发时候使用
test 测试环境,项目测试使用
production 生产环境,项目正式上线时使用
  1. 现在要做的就是项目开发,当然就是改 development 了
  2. 首先来改数据库密码。
  3. 接着要改的是,数据库的名称。一般来说,设置的和项目名称一致就好了,咱们改为 blog_development。
"development": {
    "username": "root",
    "password": "root",
    "database": "blog_development",
    "host": "127.0.0.1",
    "dialect": "mysql"
  }

2. 设置完成后,运行命令,创建数据库

$ sequelize db:create --charset 'utf8mb4'

实操过程

F:\Test\node\blog>sequelize db:create --charset 'utf8mb4'

Sequelize CLI [Node: 12.8.1, CLI: 6.2.0, ORM: 6.3.5]

Loaded configuration file "config\config.json".
Using environment "development".
Database blog_development created.

Tips:

  • 命令的最后面添加了参数,使用 utf8mb4 编码格式,这样咱们存中文到数据库,就不会出现乱码了。

  • 有的同学碰到过,运行这条命令的时候报错。那么也可以直接使用 MySQL客户端 软件,自己手动建库。注意将编码设置为 utf8mb4 就好。

  • 打开 数据库软件,刷新下,发现果然出现了 blog_development 这个数据库

  • 在这里插入图片描述

posted @ 2020-10-18 16:56  晨光曦微  阅读(555)  评论(0编辑  收藏  举报