MariaDB(5.5)をsqlite3で作ってたRailsに適用する

Railsに適用させるにあたって、
MySQLと同じ設定でいけると聞いたのでやってみた。

# 注意
**!! 注意 !!**
既存データベースの **データも移行したい場合** は、
**先にエクスポートしておくこと!!!!**

`db:create`とかするので。

# 前提
MariaDBがインストール済であること。

# yumでMariaDB-develをインストール
[最初](http://qiita.com/moonsubaru/items/9d8b7170629d88d2355a)にやってたら多分不要。

```
sudo yum install -y MariaDB-devel '5.5.37'
```

* バージョンは、[RPM resource mariadb-devel](http://www.rpmfind.net/linux/rpm2html/search.php?query=mariadb-devel)に載ってたやつから推測。
* 指定の仕方は[Installing MariaDB with the rpm tool](https://mariadb.com/kb/en/installing-mariadb-with-the-rpm-tool/)から推測。  
  どこかに「yumでも出来るよー」って書いてあったから。


# Gemfileに削除と追記
```command
vim Gemfile
```
```Gemfile
..
# Use sqlite3 as the database for Active Record
#gem 'sqlite3'                                     # ←コメントアウト

# for MariaDB                                      # ←追記
gem 'mysql2'                                       # ←追記
..
```

`mysql`って打つとMariaDB起動するんだもんねぇー・・・


# bundle install
```command
bundle install
```
mysql2がインストールされてればOK！



# database.ymlを修正
全部消して下記にした。ユーザとパスワードはMariaDBインストールしたときに設定したやつ。

```command
vim config/database.yml
```
```database.yml
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: development
  pool: 5
  username: root(自分で設定したやつ)
  password: *****(自分で設定したやつ)
  host: localhost

test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: test
  pool: 5
  username: root(自分で設定したやつ)
  password: *****
  host: localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: production
  pool: 5
  username: root(自分で設定したやつ)
  password: *****
  host: localhost
```

# DB作成
まずはクリエイト。
今回自分が作ってるアプリケーションはデータ移行がないので、
１から作り直します。

```command
rake db:create
rake db:create RAILS_ENV=production
rake db:create RAILS_ENV=test
```

次にテーブルを作ります。
マイグレーションファイル作ってなかったのでリセット。
多分普通は`db:migrate`だと思う。

```command
rake db:reset
rake db:reset RAILS_ENV=production
rake db:reset RAILS_ENV=test
```


# 確認
## コンソール上で確認
```command
mysql -u root -p
```
```mysql
MariaDB [(none)]> use development            # ←データベースが出来ていることを確認
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [development]> show tables;          # ←テーブルが出来ていることを確認
+-----------------------+
| Tables_in_development |
+-----------------------+
| accounts              |
| schema_migrations     |
| shops                 |
+-----------------------+
3 rows in set (0.00 sec)

MariaDB [development]>
```

## アプリケーションで確認
今まで動いていたアプリケーションからDB登録等をやってみて、正常に動くか確認。
DB内も見てみる。

```mysql
MariaDB [development]> select * from accounts;
+----+------------+----------+---------------------+---------------------+
| id | mail       | password | created_at          | updated_at          |
+----+------------+----------+---------------------+---------------------+
|  1 | tttt@tt.jp | nmmmmm   | 2014-05-21 15:33:53 | 2014-05-21 15:33:53 |
+----+------------+----------+---------------------+---------------------+
1 row in set (0.00 sec)

MariaDB [development]>
```

いったんはこれでOKなはずーーーー



# 参考
* [SQLite3→MySQLへデータ移行](http://blog.livedoor.jp/nizoraul/archives/3409614.html)←超参考にしました
* [Installing MariaDB with the rpm tool](https://mariadb.com/kb/en/installing-mariadb-with-the-rpm-tool/)
* [[Rails]既存のMySQLテーブルに接続する方法](http://qiita.com/stkn_bb/items/72d06c149d3e6f315f8c)