美文网首页
sequelize-cli 的使用

sequelize-cli 的使用

作者: 时光记忆forever | 来源:发表于2017-07-26 20:40 被阅读935次

    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/node-study/tree/master/sequelizeCliDemo

    参考资料

    http://docs.sequelizejs.com/manual/tutorial/migrations.html

    |扫码申请加入全栈部落|

    |:---------------:|

    |

    |

    相关文章

      网友评论

          本文标题:sequelize-cli 的使用

          本文链接:https://www.haomeiwen.com/subject/itookxtx.html