limodou/uliweb — pull request #36 by linuxr (2014-08-01 00:36:19+00:00)
Title: add -z option to uliweb load and loadtable command

关于 uliweb dump 和 uliweb load, 有些改进意见, 请参考!

应用场景:
我是将uliweb部署在嵌入式设备上使用的, 将设备上的数据库导入导出操作比较频繁.
为了能让导入导出自动化, 前端时间提出给 uliweb 加了个 -y 的option.(感谢你 的帮助和Chunlin兄的建议, 这个option很快就加上了)

通过这段时间的使用, 我发现 uliweb dump 和 uliweb dumptable 有个 -z option, 可以将数据库的数据导出成一个zip文件, 非常方便.
但是, 这个zip文件是没法通过 uliweb load 和 uliweb loadtable 导入的, 因为 load 和 loadtable 没有对应的 -z option.
只有将zip文件先解压, 然后通过load 和 loadtable 的 -d option 来指定解压的 文件夹来完成导入.

这里还有个问题, zip文件直接解压后的文件夹中缺少 engine name 的子文件夹, 也不能直接通过 -d 来导入.
ex.
# 导出比较简单
uliweb dump -z test.zip

# 导入则有点复杂
unzip test.zip -d test/default # 这个的 default 是默认的 engine name
uliweb load -d test # 上一步直接解压不会产生 default 子目录, 这一步就 导入不成功

改善方法:
给 load 和 loadtable 增加 -z option.
导入时, -z 可以将 dump 出来的 zip 文件直接导入到数据库.
导入时, -z 的解压路径就是 -d 指向的位置, 不指定 -d, 就用 -d的默认值 ./data

修改的代码参见附件, 已测试过. 仅供参考.

希望导入时能追加 -z 参数. ^_^