Sequelize ORM
Sequelize ORM
安装sequelize命令行工具:
1 | npm i -g sequelize-cli |
安装当前项目的sequelize、mysql2包:
1 | npm i sequelize mysql2 |
初始化项目:
1 | sequelize init |
可以看到项目目录下多出了一些文件夹:
- config
- migrations
- models
- seeders
配置config.js
config.js
注意修改timezone时区
1 | { |
创建模型
命名规则
- 模型名为单数:Article
- 表名为复数:Articles
sequelize创建模型
使用命令:
1 | sequelize model:generate --name Article --attributes title:string,view:integer |
发现在models和migrations中都创建了对应的文件:
- models/web.js 模型所在文件
- migrations/20250201024243-create-web.js 建表迁移文件
在migration迁移文件中,对一些属性手动进行修改:
1 | ; |
运行迁移:
1 | sequelize db:migrate |
种子文件
seed
命令行创建种子文件:
1 | sequelize seed:generate --name article |
编写种子文件脚本:
1 | ; |
运行种子文件:
1 | sequelize db:seed --seed xxx-article |
模型验证表单数据
表单验证
通过修改model模型中的字段规则,来实现表单验证:
- 表单中访问其它表使用 sequelize.models.XXX
1 | Web.init({ |
同时,try/catch捕获的错误处理也要进行修改:
1 | try{ |
迁移相关
migration
回滚上一次迁移:
1 | sequelize db:migrate:undo |
运行迁移:
1 | sequelize db:migrate |
新建迁移:
1 | sequelize migration:create --name add-avatar-to-user |
迁移文件中向数据库补充数据:
1 | ; |