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...
掃碼申請加入全棧部落 |
---|