You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.3 KiB
3.3 KiB
数据同步服务
简介
这是一个用于将数据库中的用户数据同步到简道云表单的服务。
功能特性
- 数据同步:将数据库中的用户数据同步到简道云表单
- 重复数据检查:跳过简道云表单中已存在的电话号码数据
- 增量同步:只同步新增/未同步的数据(默认启用)
- 全量同步:同步所有数据
- 自动同步:定期自动检查并同步数据库中的新增数据
配置选项
数据库配置
在 src/config/config.js 中配置数据库连接信息:
db: {
host: '数据库主机地址',
port: 数据库端口号,
user: '数据库用户名',
password: '数据库密码',
database: '数据库名称'
}
同步配置
在 src/config/config.js 中配置同步选项:
sync: {
// 增量同步模式:true - 只同步新增/未同步数据,false - 同步所有数据
incremental: true,
// 同步状态字段
statusField: 'sync_status',
// 最后同步时间字段
timeField: 'last_sync_time',
// 已同步状态值
syncedValue: 1,
// 未同步状态值
unsyncedValue: 0,
// 自动同步配置
autoSync: {
// 是否启用自动同步
enabled: true,
// 同步间隔时间(单位:分钟)
interval: 5
}
}
简道云配置
在 src/config/config.js 中配置简道云API信息:
jiandaoyun: {
appId: '简道云应用ID',
entryId: '简道云表单ID',
apiKey: '简道云API密钥'
}
字段映射
在 src/config/config.js 中配置数据库字段与简道云表单字段的映射关系:
fieldMapping: {
'userId': '简道云字段ID',
'company': '简道云字段ID',
'name': '简道云字段ID',
'phoneNumber': '简道云字段ID',
'type': '简道云字段ID',
'city': '简道云字段ID'
// 其他字段映射...
}
使用方法
安装依赖
npm install
运行服务
启动自动同步服务
node index.js
这将启动自动同步服务,每隔5分钟(可在配置中修改)自动检查并同步数据库中的新增数据。
执行一次全量同步
node index.js --full-sync
这将执行一次全量同步,同步数据库中的所有数据到简道云表单。
执行一次增量同步
node index.js --incremental-sync
这将执行一次增量同步,只同步数据库中未同步的数据到简道云表单。
测试数据库连接
node index.js --test-db
这将测试数据库连接是否正常。
测试简道云API连接
node index.js --test-jiandao
这将测试简道云API连接是否正常。
测试所有连接
node index.js --test-all
这将测试数据库连接和简道云API连接是否正常。
注意事项
- 确保数据库中的用户表包含
sync_status和last_sync_time字段,用于标记同步状态和最后同步时间 - 确保简道云表单中已创建对应的字段,并在配置文件中正确配置字段映射关系
- 自动同步服务需要保持运行状态才能定期执行同步
- 重复的电话号码数据会被跳过,不会重复写入简道云表单
终止服务
要终止自动同步服务,可以在终端中按 Ctrl + C 键。