# 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;"
}
}