Sequelize-cli工具的使用(基础&迁移)
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、 种子
有的时候,我们需要为数据库写入一些测试数据,那么这个时候,我们就可以通过种子来完成这个需求。
4、 配置文件
我们在根目录下创建一个文件:.sequelizerc
, 这是我们使用 Sequelize-cli
工具的时候读取的配置文件。
const path = require('path');
module.exports = {
'env':'development',
'config': path.resolve('src', 'configs/database.json'),
'seeders-path': path.resolve('src', 'database/seeders'),