Skip to content

数据库表结构迁移工具 简介 本工具用于简化数据库表结构的迁移操作。它可以自动比较源数据库和目标数据库的表结构差异,并生成相应的迁移脚本。用户只需执行生成的脚本即可完成表结构的迁移。

Notifications You must be signed in to change notification settings

jasonlabz/dbutil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dbutil

数据库表结构迁移工具 简介

本工具用于简化数据库表结构的迁移操作。它可以自动比较源数据库和目标数据库的表结构差异,并生成相应的迁移脚本。用户只需执行生成的脚本即可完成表结构的迁移。

  • 功能

比较源数据库和目标数据库的表结构差异 生成迁移脚本 支持多种数据库类型,包括:mysql、oracle、postgres、sqlserver等 支持迁移表结构的各种元素,包括:表名、字段名、字段类型、约束等

  • 安装
go install github.com/jasonlabz/dbutil@master
  • 使用

配置源数据库和目标数据库的信息。

示例

dbutil -c '{
  "source": {
    "db_name": "source",
    "dsn": "user:password@tcp(host:port)/typecho?charset=utf8mb4&parseTime=True&loc=Local&timeout=30s",
    "db_type": "mysql"
  },
  "target": {
    "db_name": "target",
    "dsn": "user=postgres password=******* host=192.168.3.30 port=5432 dbname=postgres sslmode=disable TimeZone=Asia/Shanghai",
    "db_type": "postgres"
  },
  "sourceSchema": "lg_server",
  "targetSchema": "public",
  "tableList": []
}' -p "/ddl_save_path"

注释: -c 指定数据库的相关信息,-p为可选,指定生成的ddl语句保存位置
source配置源端数据库连接信息,数据源类型支持mysql、oracle、postgres、sqlserver;
target配置目的端数据库连接信息,数据源类型支持mysql、oracle、postgres、sqlserver;
sourceSchema指定源端schema名(如oracle为owner等),需要同步哪个schema下的库表;
targetSchema指定目的端schema名(如oracle为owner等),需要在哪个schema下建立新的库表。
tableList可以指定只迁移部分表列表 \

// DatabaseDsnMap 关系型数据库类型  username、password、address、port、dbname
var DatabaseDsnMap = map[DBType]string{
	DBTypeOracle:    "%s/%s@%s:%d/%s",
	DBTypeMySQL:     "%s:%s@tcp(%s:%d)/%s?parseTime=True&loc=Local",
	DBTypePostgres:  "user=%s password=%s host=%s port=%d dbname=%s sslmode=disable TimeZone=Asia/Shanghai",
	DBTypeSqlserver: "user id=%s;password=%s;server=%s;port=%d;database=%s",
}

注意

在使用本工具之前,请务必备份数据库。 本工具仅用于表结构的迁移,不迁移表数据。 如果您需要迁移表数据,请使用其他工具。 联系方式

如果您在使用本工具时遇到任何问题,请随时联系。

邮箱: [[email protected]]

About

数据库表结构迁移工具 简介 本工具用于简化数据库表结构的迁移操作。它可以自动比较源数据库和目标数据库的表结构差异,并生成相应的迁移脚本。用户只需执行生成的脚本即可完成表结构的迁移。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages