db migrate mysql_数据库迁移方案 node-db-migrate

本文介绍了如何使用db-migrate和db-migrate-mysql进行MySQL数据库迁移。首先,通过npm安装必要的库,然后配置database_migrate.json文件,接着创建并编写sql迁移文件,包括增删字段的操作。最后,执行`db-migrate up`和`db-migrate down`来执行和回滚迁移。在遇到迁移问题时,需关注migrations表中的记录。
摘要由CSDN通过智能技术生成

安装必要的库,这里使用的是mysql的迁移,所以除了db-migrate还需要db-migrate-mysql

npm install -g db-migrate

npm install db-migrate-mysql

2.写配置文件,比如在ocnfigs文件夹下面写一个文件:database_migrate.json

{

"dev": {

"host": "localhost",

"user": "your username",

"password" : "your password" ,

"database": "your db",

"driver": "mysql",

"multipleStatements": true

}

}

3.生成sql迁移文件

db-migrate create add-department --config configs/database_migrate.json --sql-file ```

(把add-department换成你想要的名字)

此时会在你的工程中生成几个文件

![image.png](http://upload-images.jianshu.io/upload_images/3523277-43772679ec89e886.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

4.在 .....up.sql文件中写sql语句,比如你想增加一个字段:

alter table departments add column mobile VARCHAR(32) after leader;

在...down.sql中写回滚语句,此处略过

5.执行数据库迁移:

db-migrate up --config configs/database_migrate.json

6.执行回滚(如果需要)

db-migrate down --config configs/database_migrate.json

**注意点**

如果执行过了迁移之后又用sql文件导入了数据,但是数据是老的数据,比如有些字段是没有,而你又想再执行一下数据库迁移,这时候你会发现提示你没有可以迁移的了,这个是怎么回事呢?因为第一次迁移会在数据库建一个表migrations,记录下作了哪些迁移,如果你想再次执行的话就要把那条记录删掉,同理,你想跳过某个sql文件的执行,只需要手动把它加入到migratinon表中即可。

参考:

http://db-migrate.readthedocs.io/en/latest/Getting%20Started/usage/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值