migman 0.9.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global migman --version 0.9.1
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local migman --version 0.9.1
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=migman&version=0.9.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package migman --version 0.9.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Migman
Migman is a CLI tool for migrating and verifying MariaDB/MySQL tables using dump/load workflows and checksums.
Install (global tool)
dotnet tool install --global migman
Update
dotnet tool update --global migman
Usage
migman --help
migman run --dumper
migman run --loader
migman run --checksum
migman init --docker
migman init --sample
migman init --docker --sample --force
Init options
--docker: createdocker-compose.ymlfor MariaDB/MySQL.--sample: create sample SQL scripts and connection helpers.
Configuration
migman.yml example:
source:
type: mariadb
host: localhost
port: 3307
user: root
password: secret
database: source_db
target:
type: mysql
host: localhost
port: 3308
user: root
password: secret
database: target_db
migration_mode: dump
dump_path: ./dumps
log_path: ./migman.log
log_level: info
threads: 4
tables:
- name: sample_pk_split
compress: false
drop_table: true
chunking:
type: pk_split
key: id
size: 20
- name: sample_pk_offset
compress: false
drop_table: true
chunking:
type: pk_offset
keys:
- order_id
- line_id
order_by:
- column: order_id
direction: asc
- column: line_id
direction: asc
size: 20
Chunking
Migman supports two chunking strategies for splitting large tables.
pk_split
Splits a table by a single numeric primary key range.
Required fields:
chunking.type:pk_splitchunking.key: primary key columnchunking.size: rows per chunk
Example:
chunking:
type: pk_split
key: id
size: 20000
pk_offset
Splits a table by an ordered composite key (or single key) using keyset pagination.
Required fields:
chunking.type:pk_offsetchunking.keys: ordered list of key columnschunking.size: rows per chunk
Optional fields:
chunking.order_by: must matchchunking.keysorder and onlyascis supported
Example:
chunking:
type: pk_offset
keys:
- order_id
- line_id
order_by:
- column: order_id
direction: asc
- column: line_id
direction: asc
size: 20000
Logging
log_level supports: error, warning, info, debug, trace.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.