OtamaでMySQLを利用する手順。
https://github.com/nagadomi/otama.git 内の example-webapp で利用する場合の前提ですが、otama_create_database
コマンドを使用してDBを作成する場合も同様の手順となります。
Otamaのインストール
OtamaのMySQLドライバを有効にするにはビルド時にオプションを追加する必要があります。
MySQLを利用する場合は--enable-mysql
、PostgreSQLを利用する場合は--enable-pgsql
を指定。
curl -OJL https://github.com/nagadomi/otama/archive/v0.7.3.tar.gz
tar -xzvf otama-0.7.3.tar.gz
cd otama-0.7.3
./autogen.sh
./configure --enable-mysql --with-arch=generic
make
make check
sudo make install
DBを作成
config.yaml を編集
namespace: example_web_app
driver:
name: sim
# name: id
data_dir: ./data
# load_fv: false
database:
# driver: sqlite3
# name: ./data/example.sqlite3
driver: mysql
name: otama
host: localhost
user: root
# password:
※ MySQLユーザーのパスワードを設定していない場合にpassword:
やpassword: ''
と書くと、./import.sh
( otama_create_database
)は通るが、example-webappを起動する際にエラーが発生する。
ここでは、パスワードを設定していない場合はpassword:
を書かない。
MySQLでDBを作成
$mysql> CREATE DATABASE otama;
テーブルの作成&インポートを実行
$ ./import.sh &
確認
こんな感じのテーブルが生成されました。
$mysql> SHOW TABLES;
+---------------------------------------------+
| Tables_in_otama |
+---------------------------------------------+
| example_web_app_otama_bovw8k_sboc |
| example_web_app_otama_bovw8k_sboc_sequence_ |
+---------------------------------------------+
2 rows in set (0.00 sec)
$mysql> DESC example_web_app_otama_bovw8k_sboc;
+-----------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| otama_id | tinytext | YES | UNI | NULL | |
| vector | text | NO | | NULL | |
| flag | int(11) | YES | | 0 | |
| commit_id | bigint(20) | YES | MUL | NULL | |
+-----------+------------+------+-----+---------+----------------+
5 rows in set (0.02 sec)
$mysql> DESC example_web_app_otama_bovw8k_sboc_sequence_;
+-------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
+-------+------------+------+-----+---------+----------------+
1 row in set (0.02 sec)