sequelize-cli 的使用

sequelize-cli用於支持數據遷移和項目引導。經過遷移,能夠將現有數據庫遷移到另外一個狀態,反之亦然:這些遷移文件會被保存在遷移文件中,遷移文件描述了怎樣到達新狀態以及如何恢復更改以返回到遷移前的舊狀態。html

新建 koa2 項目

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)

安裝 sequelize 、mysql2 、 sequlize-ci

npm install --save sequelize

npm install --save mysql2

npm install --save sequelize-cli

配置.sequelizerc

若是不配置.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

生成文件

建立model

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

就能夠看到models 和 migrations 中出現相應的文件。sql

顯示效果

建立 migrations

若是是隻想給數據表增長個字段,則執行
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...

掃碼申請加入全棧部落
相關文章
相關標籤/搜索