本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1、Sequelize 与 Sequelize-cli
1-1、Sequelize
Sequelize是一个基于 Node.js 的 ORM 库
1-2、ORM
ORM 全称Object Relational Mapping - 对象关系映射 , 是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。说简单一些,就是操作对象一样去操作数据库,而不是 SQL 。
1-3、Sequelize-cli
Sequelize-cli 是其中一个对立的工具,提供了一些快速操作数据库的功能。比如:创建数据库、创建表等......。 比较像 vue 和 vue-cli 的关系
2、 Sequelize-cli
2-1、 安装
首先,我们需要安装 Sequelize-cli
npm i -D sequelize-cli
仅仅有这个工具还不够,需要设计到数据库的具体操作,还要安装 Sequelize 。
npm i sequelize
最后,Sequelize 是对 MySQL 、 MSSQL 等数据操作的一种抽象封装,提供了统一的 API , 实际具体的数据库操作需要我们独立安装对应得库,比如,我们要操作得是 MySQL , 那么我们需要安装 mysql2 这个独立得模块。
npm i mysql2
2-1-1、数据库与对应的模块
| 数据库 | 模块 |
|---|---|
| MySQL | mysql2@^1.5.2 |
| SQLite | sqlite3@^4.0.0 |
| MariaDB | mariadb |
| PostgreSQL | pg@^7.0.0 |
| pg-hstore | |
| MSSQL | tedious@^6.0.0 |
3、 基础概念
首先,我们先了解几个概念,同时通过这几个概念来了解这个工具到底是做什么的。
- 迁移
- 种子
3-1、 迁移
迁移的功能类似于 Git 。通过它,我们可以追踪数据库的状态以及变更记录,我们会把这些信息存储到指定的文件中,然后执行指定的命令来更新数据库或者恢复到某个原有状态。
3-2、 种子
有的时候,我们需要为数据库写入一些测试数据,那么这个时候,我们就可以通过种子来完成这个需求。