Python手軽でいいね、ってことで
最近はJavascriptよりもPythonでスクリプトを書いている。
今日もパフォーマンステスト用に大量データを登録する必要があったので
SQLAlchemyを使ってスクリプトを書いてみた。
Python3で動作確認済み。
create_test_datas.py
# -*- coding: utf-8 -*- import sqlalchemy engine = sqlalchemy.create_engine("postgresql+psycopg2://<DBユーザー名>:<DBパスワード>@/<DB名>", client_encoding="utf8") def create_table_defs(conn, meta): """テーブル定義""" tables = { "items": sqlalchemy.Table("t_item", meta, autoload=True, autoload_with=conn, postgresql_ignore_search_path=True) } return tables def create_test_items(item_table): """テストデータ登録""" for i in range(1, 20000): item = { "item_cd": "S%08d" % i, "item_name1": "テスト商品%d" % i, "unit": "個" } item_table.insert().execute(**item) with engine.connect() as conn: conn.execute("SET search_path TO public") meta = sqlalchemy.MetaData() meta.bind = engine tables = create_table_defs(conn, meta) create_test_items(tables["items"])
商品マスタ(t_item)に商品データを20,000件登録する。
DB接続情報とテーブル名とカラムリストと件数を書き換えれば色々なテーブルに
データを登録できるので、テンプレとして使い回せそう。
使用しているライブラリは「sqlalchemy」と「psycopg2」。
どちらもpipでインストール可能。
これまでSQLAlchemyは使ったことなかったけど、楽に書けてなかなか良い。
SQLAlchemy - The Database Toolkit for Python
- 作者: Bill Lubanovic,斎藤康毅,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る