python で書かれている pudo/dataset を使います。
インストール
$ pip install --local dataset
ここでは--local
オプションを指定したことにより、ホームディレクトリの ~/.local/bin
に datafreeze
コマンドがインストールされる。
適当にPATHを設定してください。
設定ファイルを用意 config.yaml
common:
database: "mysql://root@127.0.0.1/information_schema"
exports:
- query: "SELECT * FROM COLLATIONS"
filename: "collations.json"
format: json
実行&結果
$ datafreeze config.yaml
cat collations.json
[{"COLLATION_NAME": "big5_chinese_ci", "CHARACTER_SET_NAME": "big5", "ID": 1, "IS_DEFAULT": "Yes", ...
もっと詳しく
プログラミングインターフェイス
ライブラリとしてimport しても使えます。
import dataset
db = dataset.connect('mysql://root@127.0.0.1/information_schema')
for table in db.tables:
result = db[table].all()
dataset.freeze(result, format='json', filename='{0}.json'.format(table))
See also
かわいいキャラクターつき公式ドキュメントがあります。
dataset: databases for lazy people
内部的には SQLAlchemy が使用されています。
dataset そのものの記事も書きました。
Python - 怠惰な人のための超お手軽 ORマッパー dataset - Qiita