egg.js 24.7数据库迁移

Posted 2019ab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了egg.js 24.7数据库迁移相关的知识,希望对你有一定的参考价值。

创建数据迁移表

npx sequelize migration:generate --name=init-user

1.执行完命令后,会在database / migrations / 目录下生成数据表迁移文件,然后定义

'use strict';

module.exports = {
    up: async (queryInterface, Sequelize) => {
        const { INTEGER, STRING, DATE, ENUM } = Sequelize;
        // 创建表
        await queryInterface.createTable('user', {
            id: { type: INTEGER(20).UNSIGNED, primaryKey: true, autoIncrement: true },
            username: { type: STRING(30), allowNull: false, defaultValue: '', comment: '用户名称', unique: true},
            password: { type: STRING(200), allowNull: false, defaultValue: '' },
            avatar_url: { type: STRING(200), allowNull: true, defaultValue: '' },
            sex: { type: ENUM, values: ['男','女','保密'], allowNull: true, defaultValue: '男', comment: '用户性别'},
            created_at: DATE,
            updated_at: DATE
        });
    },

    down: async queryInterface => {
        await queryInterface.dropTable('user')
    }
};
  • 执行 migrate 进行数据库变更
# 升级数据库
npx sequelize db:migrate
# 如果有问题需要回滚,可以通过 `db:migrate:undo` 回退一个变更
# npx sequelize db:migrate:undo
# 可以通过 `db:migrate:undo:all` 回退到初始状态
# npx sequelize db:migrate:undo:all

我们执行之后是出现两个表的


其中:SequelizeMeta表中保存的是执行的文件名称,防止重复创建表
user表就是我们创建的表了

                                                                感谢大家观看,我们下次见

以上是关于egg.js 24.7数据库迁移的主要内容,如果未能解决你的问题,请参考以下文章

egg.js 24.6数据库迁移

egg.js学习笔记

egg.js连接数据库 sequlize动态创建表

egg.js连接数据库 sequlize动态创建表

egg.js 中使用 egg-mysql 操作 mysql 数据库

Node.js学习11~基于Egg.js框架,对MySQL数据库实现增删改查操作