Sequelize 是什么?
在 Node.js 世界,最简单的操作数据库的方式,是使用 Sequelize。Sequelize 是一个基于 promise 的 Node.js ORM,它具有强大的事务支持,关联关系,预读和延迟加载,读取复制等功能。Sequelize,其实除了支持MySQL外,还可以支持以下这些数据库:
- Postgres
- MariaDB
- SQLite
- 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 命令,而不用每一个项目都单独安装。 - 最后一个命令,是初始化项目。
初始化项目后,在项目文件夹中发现又新增了这么多新目录
- config 是配置的意思,这里放的也就是 sequelize 所需要的连接数据库的配置文件。
- migrations 是迁移的意思,如果你需要对数据库做新增表、修改字段、删除表等等操作,就需要在这里添加 迁移文件 了
- models 里面存放的是模型文件,我们使用 sequelize 来执行 CURD,也就是创建、修改、读取、删除数据,就需要用这里的模型了。每个模型都对应数据库中的一张表。
- seeders,是存放的种子文件。一般会将一些需要添加到数据表的测试数据存在这里。只需要运行一个命令,数据表中就会自动填充进测试内容了。
2.创建数据库
下面要做的是创建一个 blog 项目所需要的数据库,
首先要把数据库mysql服务运行起来,可用系统安装的,也可用phpstudy里的,随便启动一个即可
1.先来修改下 config/config.json
可以看到这里有三段配置,在不同环境中,程序就会运行不同的配置。
- 现在要做的就是项目开发,当然就是改 development 了
- 首先来改数据库密码。
- 接着要改的是,数据库的名称。一般来说,设置的和项目名称一致就好了,咱们改为 blog_development。
"development": {
"username": "root",
"password": "root",
"database": "blog_development",
"host": "127.0.0.1",
"dialect": "mysql"
}
2. 设置完成后,运行命令,创建数据库
$ sequelize db:create --charset 'utf8mb4'
Tips:
命令的最后面添加了参数,使用 utf8mb4 编码格式,这样咱们存中文到数据库,就不会出现乱码了。
有的同学碰到过,运行这条命令的时候报错。那么也可以直接使用 MySQL客户端 软件,自己手动建库。注意将编码设置为 utf8mb4 就好。
打开 数据库软件,刷新下,发现果然出现了 blog_development 这个数据库