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/n...
参考资料
http://docs.sequelizejs.com/m...
扫码申请加入全栈部落 |
---|
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。