CSVファイルをデータベースにインポートする
pandas の to_sql()
がとても便利です。
テーブルをCSVファイルにエクスポートする
まずは、モデルクラス名を取得する。
そして、importlib.import_module()
と getattr()
メソッドによって動的にモデルクラスをインポートする。
これで query.all()
によってテーブルのすべてのレコードを取得することができる。
CLIツールにする
click を利用して、CLI ツールを作った。
CSV のインポートとエクスポートを分けて、サブコマンド(load と export)として扱っている。
インポートの場合は -i
オプションで CSV ファイルを指定する、-t
オプションでテーブル名を指定する必要がある。
エクスポートの場合は、カレントディレクトリがデフォルトの出力ディレクトリになっている。