以前是在写midway.js的时候,用了下sequelize来管理数据库,感觉还挺不错的,这次来重新认识下sequelize。
准备工作
我们的目的是在项目中使用sequelize来管理数据库,那么我们本机需要先装好mysql,然后准备好用户名和密码。
这里我们创建一个空的项目,创建一个test-sequelize的文件夹作为我们的项目:
1$mkdir test-sequelize
进入到文件夹,然后执行npm init:
1
2$cd test-sequelize
$npm init
执行完毕后我们得到了一个空的项目,里面只有个package.json。
安装sequelize 和 sequelize cli
安装sequelize:
1$npm install sequelize
我们这里使用的是mysql,所以也需要安装mysql的驱动:
1$npm install mysql2
我们需要使用sequelize cli来同步和迁移数据库,安装:
1$npm install sequelize-cli
初始化数据库
假设我们想要构造的是一个相册项目,我们将数据库起名为photos,然后里面需要两个表,一个是相册表:albums,一个是图片表:images,我们需要手动创建么?完全不需要,我们使用sequelize cli来通过脚本创建。
tips:我们可以用npm自带的npx来直接执行在本项目安装的模块,具体可以参考:阮一峰 npx使用教程。
首先我们创建一个文件配置文件.sequelizerc来告诉sequelize执行命令对应的目标文件夹为./database:
1
2
3
4
5
6
7
8'use strict';
const path = require('path');
module.exports = {
config: path.join(__dirname, 'database/config.json'),
'migrations-path': path.join(__dirname, 'database/migrations'),
'seeders-path': path.join(__dirname, 'database/seeders'),
'models-path': path.join(__dirname, 'database/models'),
};
然后运行:
1$npx sequelize init
可以看到输出:
1
2
3
4Created "database/config