On this page
数据库迁移配置
- sequelize 提供了sequelize-cli工具来实现Migrations,我们也可以在 egg 项目中引入 sequelize-cli。
shell
npm install --save-dev sequelize-cli
- egg 项目中,我们希望将所有数据库 Migrations 相关的内容都放在
database
目录下,所以我们在项目根目录下新建一个.sequelizerc
配置文件:
js
"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, "app/model"),
};
- 初始化 Migrations 配置文件和目录
shell
npx sequelize init:config
npx sequelize init:migrations
# npx sequelize init:models
- 行完后会生成
database/config.json
文件和database/migrations
目录,我们修改一下database/config.json
中的内容,将其改成我们项目中使用的数据库配置:
json5
{
"development": {
"username": "root",
"password": null,
"database": "egg-video",
"host": "127.0.0.1",
"dialect": "mysql",
"timezone": "+08:00"
}
}
- 创建数据库
shell
npx sequelize db:create
shell
# 升级数据库
npx sequelize db:migrate
# 如果有问题需要回滚,可以通过 `db:migrate:undo` 回退一个变更
# npx sequelize db:migrate:undo
# 可以通过 `db:migrate:undo:all` 回退到初始状态
# npx sequelize db:migrate:undo:all