sequelize-cli 的使用

sequelize-cli用于支持数据迁移和项目引导。通过迁移,可以将现有数据库迁移到另一个状态,反之亦然:这些迁移文件会被保存在迁移文件中,迁移文件描述了怎样到达新状态以及如何恢复更改以返回到迁移前的旧状态。

新建 koa2 项目

mkdir sequelizeCliDemo

cd sequelizeCliDemo

npm install koa

新建 index.js

const Koa = require('koa')
const app = new Koa()

app.use(async(ctx) => {
    ctx.body = 'hello koa2'
})

app.listen(3000)

安装 sequelize 、mysql2 、 sequlize-ci

npm install --save sequelize

npm install --save mysql2

npm install --save sequelize-cli

配置.sequelizerc

如果不配置.sequelizerc 的话,sequelize init 初始化的文件夹会出现在项目目录下面,如果配置了.sequelizerc 就可以指定到相应的目录

const path = require('path')

module.exports = {
    'config': path.resolve('./app','config.json'),'migrations-path': path.resolve('./app','migrations'),'models-path': path.resolve('./app','models'),'seeders-path': path.resolve('./app','seeders'),}

执行 sequelize init 命令

node_modules/.bin/sequelize init

可以生成相应的文件,如图所示:

创建model

node_modules/.bin/sequelize model:create --name Todo --attibutes 'text:string,complete:boolean,UserId:integer'

就可以看到models 和 migrations 中出现相应的文件。

创建 migrations

如果是只想给数据表增加个字段,则执行
migration:create

node_modules/.bin/sequelize migration:create --name add-testcolumn-to-todo

执行命令后,会在migrations文件夹中生成20170726122010-add-testcolumn-to-todo.js 修改文件里的内容。

'use strict';

module.exports = {
    up: function(queryInterface,Sequelize) {
        queryInterface.addColumn('Todos','test',{
            type: Sequelize.STRING,allowNull: false
        })
    },down: function(queryInterface,Sequelize) {
        queryInterface.removeColumn('Todos','test')
    }
};

运行待迁移

运行待迁移,需要修改config.json 配置自己的数据库账号和密码

node_modules/.bin/sequelize db:migrate

数据库中显示

数据库中会出现Todos这个表,并多了test这个字段。

源码下载

源码地址: https://github.com/didianV5/n...

参考资料

http://docs.sequelizejs.com/m...

扫码申请加入全栈部落

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...