2.Sequelize 的安装使用

30 阅读3分钟

1. Sequelize ORM 的使用

先安装sequelize的命令行工具,需要全局安装,这样更方便使用

npm i -g sequelize-cli

接着确保命令行是在当前项目的命令行里,还要安装当前项目所依赖的sequelize包和对数据库支持依赖的mysql2

npm i sequelize mysql2

最后,来初始化项目。

sequelize init
文件或目录说明
config/config.json数据库连接配置
migrations迁移文件
models模型文件
seeders种子文件

2. 模型,迁移和种子

模型

我们现在可以使用sequelize来创建数据表,而不用手动建表。

sequelize model:generate --name Article --attributes title:string,content:text

这个咒语,是用来新建模型的,将来大家还会经常用到它的。

打开models/article.js。可以看到,在模型文件夹中,出现了一个叫做Article的模型,它里面有标题和内容。

标题是字符串类型,对应到 MySQL 数据库里,它就会自动变成varchar。内容部分,则是text类型。

现在就只需要知道,模型就是用来操作数据库的,就是因为有这个文件的存在,我们后面才能使用Article.findAll()这种代码来查询数据。模型里还有一些其他的东西,我们暂时不用管它,后面学到了相关的知识了,我们到时候再来修改。

迁移文件

再来看看migrations文件夹,里面出现了一个由当前时间,加上create-article命名的文件,这个文件就是迁移文件了。它的作用就是用来创建、修改表的。看到这里,在up部分。我们通过createTabel,创建了一个叫做Articles的表。 模型名字是单数:Article。但是表的名字一定是复数形式,也就是Articles。这是sequelize里的命名规则,

运行迁移

sequelize db:migrate

打开数据库客户端,刷新一下,可以看到Articles表又神奇的出现了

种子文件

sequelize seed:generate --name article

完成后,在seeds目录,就看到刚才命令新建的种子文件了。同样也是分为两个部分,up部分用来填充数据,down部分是反向操作,用来删除数据的。

运行种子

sequelize db:seed --seed xxx-article

大家注意了,日常开发项目,都是采用固定的步骤:

步骤命令说明
第一步sequelize model:generate --name Article --attributes ...建模型和迁移文件
第二步人工处理根据需求调整迁移文件
第三步sequelize db:migrate运行迁移,生成数据表
第四步sequelize seed:generate --name article新建种子文件
第五步人工处理将种子文件修改为自己想填充的数据
第六步sequelize db:seed --seed xxx-article运行种子文件,将数据填充到数据表中
方法说明
findAll查询所有记录
findAndCountAll查询所有记录,并统计数据总数
findByPk通过主键查询单条数据
create创建新数据
update更新数据
destroy删除数据