自主的20%るぅる

各々が自主的に好き勝手書くゆるふわ会社ブログ

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のご紹介でした。

 

 

Let’s share this article!

{ 関連記事 }

{ この記事を書いた人 }

もつ鍋
もつ鍋

一応Webエンジニア。

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

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

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

作業用BGMは澤野弘之氏

記事一覧