前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >PlanetScale SchemaDiff - 对比主从表结构是否一致

PlanetScale SchemaDiff - 对比主从表结构是否一致

原创
作者头像
贺春旸的技术博客
发布2025-02-12 15:07:12
发布2025-02-12 15:07:12
640
举报
文章被收录于专栏:DBA 平台和工具

PlanetScale SchemaDiff 工具介绍

概述

schemadiffPlanetScale 推出的数据库模式(schema)管理工具,旨在对比 MySQL 及其兼容数据库(如 PlanetScale 和 Vitess)的模式差异,并生成相应的 DDL(数据定义语言)变更语句。它主要用于数据库 schema 版本管理,帮助开发者高效、安全地执行数据库迁移。

主要功能

模式差异比较(Diff)
  • 通过 schemadiff diff 计算两个数据库模式之间的差异,并生成 SQL 变更语句,使源模式转换为目标模式。

使用示例

1. 对比主库和从库中 test 数据库下的所有表,检查它们是否一致。
代码语言:shell
复制
./schemadiff diff                                     \
--source 'admin:123456@tcp(127.0.0.1:6666)/test'      \
--target 'admin:123456@tcp(127.0.0.1:6667)/test' 

如果表结构不一致,会输出:

代码语言:txt
复制
DROP TABLE `t`;
DROP TABLE `student`;
DROP TABLE `nopk`;
ALTER TABLE `t2` DROP COLUMN `cid`, DROP COLUMN `bid`, ADD COLUMN `id` int NOT NULL AUTO_INCREMENT, ADD COLUMN 
`name` varchar(50), ADD PRIMARY KEY (`id`);

2. 对比主库和从库中 test 数据库下的t2表,检查它们是否一致。

代码语言:bash
复制
./schemadiff diff                                     \ 
--source 'admin:123456@tcp(127.0.0.1:6666)/test?#t2'  \
--target 'admin:123456@tcp(127.0.0.1:6667)/test?#t2' 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PlanetScale SchemaDiff 工具介绍
    • 概述
    • 主要功能
    • 模式差异比较(Diff)
    • 使用示例
      • 1. 对比主库和从库中 test 数据库下的所有表,检查它们是否一致。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档