49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
## 说明
|
||
使用该程序来对MyDumper导出的CSV数据进行读取,转换,然后导出到其他数据库中。
|
||
|
||
1. 用MyDumper从数据库导出CSV数据
|
||
|
||
使用MyDumper Docker镜像
|
||
```sh
|
||
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文件
|
||
|
||
2. 在Program.cs中修改`CsvOptions`配置
|
||
```cs
|
||
host.Services.Configure<CsvOptions>(option =>
|
||
{
|
||
option.Delimiter = ",";
|
||
option.QuoteChar = '"';
|
||
option.InputDir = "D:/Dump/Test";
|
||
});
|
||
```
|
||
将`option.InputDir`配置为MyDumper导出的数据目录
|
||
|
||
3. 在Program.cs中修改`DatabaseOutputOptions`配置
|
||
```cs
|
||
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`的属性修改为程序要导出至的数据库
|
||
> 后续将这些配置通过命令行传递
|
||
|
||
4. 运行程序
|
||
> 注意,测试数据库`cferp_test`中的`order_process_step`表存在外键,如果要导出到和测试库同结构的数据库,记得先把外键删除。 |