dm
用于管理开发AWS RDS MySQL数据库的最小Deno CLI。
设置
创建本地配置文件:
deno task dm init
编辑:
~/.config/dm/config.json
例子:
{
"defaultProfile": "default",
"profiles": {
"default": {
"host": "your-dev-rds.xxxxxx.us-east-1.rds.amazonaws.com",
"port": 3306,
"user": "admin",
"password": "dev-password",
"database": "app_dev",
"ssl": {
"rejectUnauthorized": false
}
},
"other_dev": {
"host": "your-other-dev-rds.xxxxxx.us-east-1.rds.amazonaws.com",
"port": 3306,
"user": "admin",
"password": "dev-password",
"database": "other_app_dev",
"ssl": {
"rejectUnauthorized": false
}
}
}
}
init命令将config目录设置为 700 并将配置文件设置为 600
在Linux上。
对于一个dev RDS实例, "rejectUnauthorized": false 去哪里最快吗
避免设置本地TLS CA。要获得更强大的设置,请下载AWS RDS CA包
和使用:
{
"ssl": {
"caPath": "/path/to/global-bundle.pem",
"rejectUnauthorized": true
}
}
命令
deno task dm ping
deno task dm databases
deno task dm tables
deno task dm profile ls
deno task dm profile current
deno task dm profile set default
deno task dm users
deno task dm describe users
deno task dm indexes users
deno task dm indexes users --format json
deno task dm count users
deno task dm bucket ls
deno task dm bucket set my-r2-bucket
deno task dm bucket files
deno task dm export
deno task dm export --prod
deno task dm export --prod --limit 5000
第一个版本运行 -A 通过 dm 的任务。
count 使用MySQL的 information_schema.TABLES.TABLE_ROWS 估计。这是
对于大型InnoDB表来说速度很快,但它是近似的。
广告导出按数据库配置文件分组。样本生活在
exports/<profile>/sample/;生产出口应该进入
exports/<profile>/production/ 在示例头和值之后是
批准。使用 deno task dm export --prod 将计划导出到
生产文件夹。示例计划导出默认为100行,而 --prod
默认为1000行;通过 --limit <n> 以覆盖任一默认值。
广告分段导出在两个文件夹中使用相同的数据集文件名:
user_profiles.csv, contact_identifiers.csv, purchase_events.csv。他们
是原始的ClickHouse BI输入,所以可以为空的源值应该保存在
这些文件稍后在派生的观众/上传表中进行筛选。
代理应该生成 exports/<current-profile>/export.config.json 用于
可重复的广告输出。该计划包含表名、源到输出列
映射、日期列、限制和输出文件名。一旦计划存在,运行:
deno task dm export