LoginSignup
0

More than 5 years have passed since last update.

Oatama で MySQL を使う

Last updated at Posted at 2014-08-29

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)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0