sequelize-cli用于支持数据迁移和项目引导。通过迁移,可以将现有数据库迁移到另一个状态,反之亦然:这些迁移文件保存在迁移文件中,描述了如何进入新状态以及如何恢复更改以返回旧状态在迁移之前。新的koa2项目mkdirsequelizeCliDemocdsequelizeCliDemonpminstallkoanewindex.jsconstKoa=require('koa')constapp=newKoa()app.use(async(ctx)=>{ctx.body='hellokoa2'})app.listen(3000)installsequelize,mysql2,sequelize-cinpminstall--savesequelizenpminstall--savemysql2npminstall--savesequelize-cliconfiguration.sequelizerc如果不配置.sequelizerc,sequelizeinit初始化的文件夹会出现在项目目录接下来如果配置.sequelizerc,可以指定对应的目录constpath=require('path')module.exports={'config':path.resolve('./app','config.json'),'迁移路径':path.resolve('./app','migrations'),'models-path':path.resolve('./app','models'),'seeders-path':path.resolve('./app','seeders'),}执行sequelizeinit命令node_modules/.bin/sequelizeinit生成相应的文件,如图:createmodelnode_modules/.bin/sequelizemodel:create--nameTodo--attibutes'text:string,complete:boolean,UserId:integer',可以看到models和migrations中出现了相应的文件。创建migrations如果只是想在数据表中添加一个字段,执行migration:createnode_modules/.bin/sequelizemigration:create--nameadd-testcolumn-to-todo命令执行后,20170726122010-add会生成在migrations文件夹-testcolumn-to-todo.js修改文件中的内容。'usestrict';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配置自己的数据库账号和密码将被添加。源码下载源码地址:https://github.com/didianV5/n...参考http://docs.sequelizejs.com/m...扫码申请加入全栈部落
