登录
首页 >  数据库 >  MySQL

需求上线,同步数据库结构&数据,拥有此工具不再烦恼!

来源:SegmentFault

时间:2023-01-17 07:52:13 390浏览 收藏

本篇文章给大家分享《需求上线,同步数据库结构&数据,拥有此工具不再烦恼!》,覆盖了数据库的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

背景

开发者在开发各种需求时候,会发生数据库的结构以及数据变更,每次开发完毕,进行上线时候会同步数据库结构&数据,因此需要找出需要同步的数据库DDL和DML语句,变动少了还好弄。一旦数据变化涉及表多,碎片化则存在如下问题点:

  1. 容易漏掉,上线出现数据库级别bug和异常。
  2. 需要花费很多时间,找出变更DDL和DML。
  3. 涉及众多和碎片化的sql变动语句,难以复查。

解决

如果可以有一个可以比较本地数据库开发环境与等待同步开发环境数据库的工具。该工具自动比较两个库对应DML和DDL差别并同时生成sql语句,开发人员将生成语句给DBA执行即可!也可以方便自己检查!

sync-data-struct是一个用来比较两个数据库之间的数据结构差异,并生成更新DDL的工具包.方便对比出两个数据库之间差异来进行数据结构同步.

安装

composer  require zyimm/sync-data-struct

支持的数据

  • Mysql

使用案列

//set error
error_reporting(E_ALL);
ini_set('display_errors', true);
//autoload 
include '../vendor/autoload.php';
//db
$config = [
    // 本地数据库
    'local' => [
        'host'     => 'mysql',
        'username' => 'root',
        'passwd'   => '123456',
        'dbname'   => 'local'
    ],
    //待同步数据库
    'dev'   => [
        'host'     => 'mysql',
        'username' => 'root',
        'passwd'   => '123456',
        'dbname'   => 'dev'
    ]
];
$handle = new \Zyimm\dbStructSync\Sync($config);
//输出变动sql语句
echo $handle->toHtml();

项目地址

Tip:sync-data-struct

好了,本文到此结束,带大家了解了《需求上线,同步数据库结构&数据,拥有此工具不再烦恼!》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多数据库知识!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表