LoginSignup
2
5

More than 5 years have passed since last update.

DB のデータを json 形式でエクスポートする

Last updated at Posted at 2016-01-20

python で書かれている pudo/dataset を使います。

インストール

$ pip install --local dataset

ここでは--local オプションを指定したことにより、ホームディレクトリの ~/.local/bindatafreeze コマンドがインストールされる。
適当に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

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5