Sequelize-cli快速入门,学废了吗?

Sequelize 是一个基于 promise 的 Node.js ORM。一般项目都会用到 官网链接。当时只是单纯的建Model层,数据库操作。而Sequelize -cli是我在用eggjs做项目的时候遇到的,链接地址(当时没有好好看Sequelize 官方网站,就没留心有该脚手架)。

之前写过sequelize 入门链接,有兴趣的可以看看

本文做一次关于Sequelize-cli的整理,从无到有,记录。

安装
mkdir sequlize-cli-test
npm i sequelize-cli -g // 有人全局,网上有人当前文件 -D /node_moudules/sequelize-cli/lib 环境变量
npm i sequelize
npm i mysql2 

在这里插入图片描述

初始化
sequelize init

在这里插入图片描述

  • config:包含配置文件,它告诉CLI区分env连接数据库

  • models:包含您的项目的所有模型

  • migrations:包含所有迁移文件 (数据表结构)

  • seeders:包含所有种子文件 (具体数据)

创建数据库和删除数据库

config
在这里插入图片描述

创建
sequelize db:create

在这里插入图片描述
在这里插入图片描述
默认development开发环境,如果要区分环境变量,db:create --env production

navicat查看效果
在这里插入图片描述

删除
sequelize db:drop sequelize-cli-test
创建模型文件 model

创建一个模型文件

  • name:模型名称,必须
  • attributes:字段列表,必须
sequelize model:generate --name User --attributes firstName:string,lastName:string,email:string,age:number

在这里插入图片描述

  • 在 models 文件夹中创建了一个 user 模型文件(供程序使用)

  • 在 migrations 文件夹中创建了一个名字像 时间戳-create-xxx.js 的迁移文件(供迁移使用)

当然这只是生成基础模板,如果后期新增需求,可以更改对应文件

当然此时数据库没有对应user表

在这里插入图片描述

执行迁移

所谓迁移,就是对数据库进行结构的创建,升级(修改)等操作

sequelize db:migrate 

会在数据库中创建一个 SequelizeMeta 表,用于记录每次的迁移记录

在这里插入图片描述
在这里插入图片描述
对sequelize基础数据类型要正确使用!!!

在这里插入图片描述
在这里插入图片描述
查看状态
当前文件未被执行过,状态为down 执行过则为 up

sequelize db:migrate:status

在这里插入图片描述
---------------------------此处为错误示范---------------------------
当此时发现20210408081122-create-user里字段需要更改(当然你model对应更改),更改之后sequelize db:migrate
在这里插入图片描述
说明需要重新生成 时间戳-create-xxx.js 迁移文件

在这里插入图片描述
但是数据库是不会及时更新,除非你把新建的迁移文件和数据库sequelizeMeta删掉,重新来过,但是这样版本迭代就没有意义了

----------------------------此处为错误示范----------------------------------

正确示范

新建一个文件,更新

sequelize migration:create --name addPhone

在这里插入图片描述

sequelize db:migrate 

在这里插入图片描述

现在版本回退,phone字段没有的版本
sequelize db:migrate:undo             - 撤销上一次的迁移操作         

sequelize db:migrate:undo:all             - 撤销所有的迁移操作         

sequelize db:migrate:undo --name 具体迁移脚本

在这里插入图片描述
回退指定版本
在这里插入图片描述

我现在还是迁移最新状态(添加phone的状态)
在这里插入图片描述
在这里插入图片描述

种子文件

种子文件是用来构建数据的

sequelize seed:generate --name seedName

新增文件并修改
在这里插入图片描述

sequelize db:seed --send seedName             运行指定种子文件         
sequelize db:seed:all             运行所有种子文件

在这里插入图片描述

撤销
db:seed:undo --seed sendName 指定种子文件         
db:seed:undo:all             撤销所有种子文件
种子存储记录

默认情况下seed不记录过程,如果需要记录则需要单独设置,在配置文件config.json中增加

seederStorage:存储引擎:none、json、mongodb、sequelize

seederStoragePath: 存储路径(json有效)

seederStorageTableName:存储表名,mongodb和sequelize有效

以json为例
在这里插入图片描述
在这里插入图片描述

基本的sequelize-cli快速入门操作已说明完毕,学废了吗?

下班!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值