fake2dbでダミーデータを作成

fake2dbとは

これでも一応職種はエンジニアなものでして・・・。一度くらいはまじめに技術的なことを書こうと思います。

私自身アーリーアダプタでもなんでもないので、個人的に気になったことか、

彡(゚)(゚)「こいつぁ素晴らしい」

と思ったことを気ままに綴っていきたいと思います。

さて、今回ご紹介するのはfake2dbというライブラリになります。

これはPythonで作られているダミーデータジェネレータになります。

ワンライナーでさくっとデータを作ることができるのが魅力です。

元々使おうと思ったきっかけは、PHPでサーバサイドのプログラムを作っていた時に、とりあえずなんでもいいのでデータがほしいという状況があり、ググったら一発目に出てきたので使ってみました。

ちなみに私は簡単なユーティリティのようなものは基本Pythonで探す傾向が多いです。

 

インストール

では早速インストールから。

動作環境にはまずPythonが必要になります。

CentOSだと2系が最初から入っているのですが、今回はあえて3を入れます。

Python3のインストール

まずはリポジトリの追加からです。

sudo rpm -ivh http://mirror.yandex.ru/fedora/russianfedora/russianfedora/free/el/releases/6/Everything/x86_64/os/puias-release-6-2.R.noarch.rpm

そしてインストール

sudo yum install -y python3 python3-tools

インストールが済んだらちゃんとはいっているかを確認しましょう。

python3 -V

Pythonのライブラリのインストール

続いてPythonのライブラリをインストールしていきます。

sudo yum install python3-devel

# もしかしたら入っているかもしれませんが、念の為に
sudo yum install MySQL-python

pipのインストール

つづいてPythonのパッケージ管理ツールであるpipをインストールします。

curl -kL https://bootstrap.pypa.io/get-pip.py | python3

Virtualenvのインストール

前述のとおり、CentOSにはPython2系が入っています。

今回はPython3を使いますのでVirtualenvもインストールします。

VirtualenvはPythonの実行環境を複数構築するためのライブラリです。

sudo pip3 install virtualenv

Virtualenvを使ってPython3実行環境を作成して活性化

作業フォルダを作成し活性化します。

mkdir /work
cd /work
python3 -m venv venv
source /work/venv/bin/activate

fake2dbのインストール

さて、ここでやっとfake2dbのインストールです。

sudo pip install fake2db

mysqlconnectorのインストール

MySQLに接続するためのライブラリも入れます

sudo pip install mysql-connector

ダミーデータの作成

まずはオプション一覧を表示してみます。

ふむふむ。色々ありますが、そんなに数は多くないですし、意味も何となく分かりますね。

--rows argument is pretty clear :) integer

--db argument takes 6 possible options : sqlite, mysql, postgresql, mongodb, redis, couchdb

--name argument is OPTIONAL. When it is absent fake2db will name db's randomly.

--host argument is OPTIONAL. Hostname to use for database connection. Not used for sqlite.

--port argument is OPTIONAL. Port to use for database connection. Not used for sqlite.

--username argument is OPTIONAL. Username for the database user.

--password argument is OPTIONAL. Password for database user. Only supported for mysql & postgresql.

では実行です。

今回はMySQLに対してとりあえずレコードを200件ほど作ってみようかなぁと思います。

fake2db --rows 200 --db mysql --host localhost -- username root --password *** --name my_db

今回はMySQLに対して行ったので mysql_handler.py というファイルに留意しましょう。

このファイルの中にテーブルの構造やデータを作成するロジックがベタ書きされています(^^;

ということは、そんなに難しくないので例えば現場のプロジェクトにあったテーブル構造に書き換えることも出来ます。

fake2dbには一般的によく使われるであろうテーブル構造が設定されています。

companyテーブルやcustomerテーブルなどです。

作成するレコードの件数も指定できるので私はこれでボリュームテストなんぞもやっておりました。

そんなこんなでfake2dbのご紹介でした。

 

 

もつ鍋

もつ鍋

投稿者プロフィール

一応Webエンジニア。

最近はハーブやブルーベリーの栽培に凝ってます。
現在はレモンに挑戦中!

カメラもお勉強中。

痛風家系という宿命に抗って生きています。
なおまだ未経験。
尿酸値は7未満。

Ne pas perdre espoir C’est mon seul desir
望みを失わないこと それが私のたった一つの望み(゚д゚)

作業用BGMは澤野弘之氏

この著者の最新の記事

関連記事

コメントは利用できません。

募集中!(o゜▽゜)o

エンジャパン
求む、社長!
follow us in feedly

コッチもヨロシク!



最近のネタ!

  1. 2019-12-16

    ロースキルのエンジニアを応援したい!【Agent Grow Advent Calendar 2019:16日目】

    この記事は  Agent Grow Advent Calendar 2019 12月16日目の記事と…
  2. 2019-12-15

    2020年の休日のご案内【Agent Grow Advent Calendar 2019:15日目】

    この記事は Agent Grow Advent Calendar 2019 15日目の記事です。 …
  3. 2019-12-14

    仕事&育児&家事な生活のリアルな日常 ~ 例えば私の場合 ~【Agent Grow Advent Calendar 2019:14日目】

    自分の体験を通じて、 この記事は Agent Grow Advent Calendar 2019 …
  4. 2019-12-13

    ドキッ!?カレーだらけの経営合宿!(レシピもあるよ!)【Agent Grow Advent Calendar 2019:13日目】

    この記事は Agent Grow Advent Calendar 2019 13日目の記事です。 …
  5. 2019-12-12

    今更ChatOpsをしたくてSlack Boltに触れてみた【Agent Grow Advent Calendar 2019:12日目】

    はじめに この記事は Agent Grow Advent Calendar 2019 : 12日目…
ページ上部へ戻る

当サイトに掲載されているコンテンツ(文書、画像等)は、許可なく複製・転用等する事を禁じます。

「フェアネス方式®」(登録6150741)は、日本国内における株式会社エージェントグローの登録商標です。

当サイトでは最低限必要と考えられる場合において、会社名/サービス名/商品名などを記載している場合があります。
これらはあくまでも説明の必要性に応じて用いているものであり、各社の権利等を侵害を目的とするものではございません。
不適切と考えられる場合には、当社お問い合わせフォームよりご連絡ください。

当サイトでは®や™などの表記を省略させていただいております。