数据库表结构更新并保留原有数据

有时候更新开源项目的版本,发现git上面数据库文件的表结构发生了变化时,怎样把旧的表数据更新升级呢

第一步,先点击git上的数据库文件(sql文件),查看它的历史,然后对比一下本地文件的更改日期,从这个日期开始,查看每个历史的变更详情。

第二步,复制变更详情中发生变化的建表语句,到数据库中把要更新的表重命名,创建新的表结构,如果只是字段长度或者索引发生了变化,那我们只需要运行 “insert into new_table_name select * from old_table_name” ;

如果字段名字变了,或者有字段发生增加减少的变化,就运行 “insert into new_table_name(filed1, 2, 3, ...) select (filed2, 3, 4,. ..) from old_table_name”,这样就可以把旧表数据更新到新表上面去了

第三步, 运行一下新的项目代码,看看有没有问题,没问题就可以把就旧表删除了,有问题,则查看一下是不是有哪的业务仍然和旧表有关系,处理一下。

这样就可以既保留数据又更新表结构了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200313A0VT6R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券