修复数据替换时order_module表的ShardKey无法正确赋值的问题; 旧数据库order_data_block.CompanyID数据有误,在数据替换时重新计算; |
||
---|---|---|
.. | ||
Const | ||
Helpers | ||
HostedServices | ||
Options | ||
Services | ||
SimulationService | ||
appsettings.json | ||
ConsoleApp2.csproj | ||
DataRecord.cs | ||
Program.cs | ||
README.md |
说明
使用该程序来对MyDumper导出的CSV数据进行读取,转换,然后导出到其他数据库中。
-
用MyDumper从数据库导出CSV数据
使用MyDumper Docker镜像
docker run --rm --net=host -v D:/Dump:/home/backup mydumper/mydumper:v0.15.2-6 mydumper ` -h 127.0.0.1 -P 33306 -u root -p 123456 ` -B cferp_test --no-schemas --csv --hex-blob ` -o /home/backup
将挂载卷,数据库连接和输出目录替换
不导出数据库结构(--no-schemas), 导出完的目录下应当包含.sql文件以及.dat文件 -
在Program.cs中修改
CsvOptions
配置host.Services.Configure<CsvOptions>(option => { option.Delimiter = ","; option.QuoteChar = '"'; option.InputDir = "D:/Dump/Test"; });
将
option.InputDir
配置为MyDumper导出的数据目录 -
在Program.cs中修改
DatabaseOutputOptions
配置host.Services.Configure<DatabaseOutputOptions>(options => { options.ConnectionString = new MySqlConnectionStringBuilder { Server = "127.0.0.1", Port = 33306, Database = "cferp_test_1", UserID = "root", Password = "123456", MaximumPoolSize = 50, }.ConnectionString; options.MaxTask = 16; options.FlushCount = 200; });
将
MySqlConnectionStringBuilder
的属性修改为程序要导出至的数据库后续将这些配置通过命令行传递
-
运行程序
注意,测试数据库
cferp_test
中的order_process_step
表存在外键,如果要导出到和测试库同结构的数据库,记得先把外键删除。