sequelize-cli用于支持数据迁移和项目引导。经过迁移,能够将现有数据库迁移到另外一个状态,反之亦然:这些迁移文件会被保存在迁移文件中,迁移文件描述了怎样到达新状态以及如何恢复更改以返回到迁移前的旧状态。html
mkdir sequelizeCliDemo cd sequelizeCliDemo npm install koa
新建 index.jsnode
const Koa = require('koa') const app = new Koa() app.use(async(ctx) => { ctx.body = 'hello koa2' }) app.listen(3000)
npm install --save sequelize npm install --save mysql2 npm install --save sequelize-cli
若是不配置.sequelizerc 的话,sequelize init 初始化的文件夹会出如今项目目录下面,若是配置了.sequelizerc 就能够指定到相应的目录mysql
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 命令git
node_modules/.bin/sequelize init
能够生成相应的文件,如图所示:github
node_modules/.bin/sequelize model:create --name Todo --attibutes 'text:string,complete:boolean,UserId:integer'
就能够看到models 和 migrations 中出现相应的文件。sql
若是是只想给数据表增长个字段,则执行
migration:create数据库
node_modules/.bin/sequelize migration:create --name add-testcolumn-to-todo
执行命令后,会在migrations文件夹中生成20170726122010-add-testcolumn-to-todo.js 修改文件里的内容。npm
'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 配置本身的数据库帐号和密码json
node_modules/.bin/sequelize db:migrate
数据库中会出现Todos这个表,并多了test这个字段。app
源码地址: https://github.com/didianV5/n...
http://docs.sequelizejs.com/m...
扫码申请加入全栈部落 |
---|
![]() |