# data sync 数据同步命令

数据库同步命令,用于同步数据库的数据。

TIP

数据库同步命令不仅可以用于同步 SSCMS 系统数据,还可用于任何需要将数据库同步的场合。

# 用法

sscms data sync
    --from=VALUE
    --to=VALUE
    --includes=VALUE
    --excludes=VALUE
    --max-rows=VALUE
    --page-size=VALUE
    -r, --repeat=VALUE
    -h, --help

可以设置可选参数控制同步选项。

# 选项

选项 简写 说明
--from 指定备份数据库的 SSCMS 配置文件文件名,默认为 sscms.json
--to 指定还原数据库的 SSCMS 配置文件文件名
--includes 指定需要同步的表,多个表用英文逗号隔开,默认同步所有表
--excludes 指定需要排除的表,多个表用英文逗号隔开
--max-rows 指定需要同步的表的最大行数,默认同步所有数据
--page-size 从数据库表中获取一次数据的行数,默认为 1000
--repeat -r 重复运行参数
--help -h 命令说明

同步命令合并了 sscms data backup 以及 sscms data restore 命令,首先执行数据备份命令,然后执行数据库还原命令。

同步命令将首先读取 --from 参数指定的 SSCMS 配置文件(可以省略,默认为sscms.json),从中获取数据库连接字符串,进而将数据库备份到 backup/{yyyy-MM-dd} 文件夹中。

备份完成后,同步命令将读取 --to 参数指定的 SSCMS 配置文件,从中获取数据库连接字符串,进而将备份数据还原到指定数据库中。

同步命令只支持完全同步,即同步命令将把数据库中所存的所有数据同步至文件夹中,如果数据库中数据量太大,请不要频繁使用同步命令,以免影响数据库性能。

# 示例

sscms data sync --from source.json --to target.json

以上命令将把source.json文件中配置的数据库同步至target.json文件中配置的数据库中。

source.json文件:

{
  "Database": {
    "Type": "SQLite",
    "ConnectionString": "Data Source=~/database.sqlite;Version=3;"
  }
}

target.json文件:

{
  "Database": {
    "Type": "SQLite",
    "ConnectionString": "Data Source=~/target.sqlite;Version=3;"
  }
}
上次更新: 2023/9/15 上午8:33:51