togatttiのエンジニアメモ

過度な期待はしないでください。旧麹町で働くエンジニアのメモ帳です。

じゃあ、RailsでいつMySQL使うの、今でしょ

MySQLはインストール済みであることが前提。

RailsでデフォルトからMySQLを使う場合

  • mysqld起動

service mysqld start

  • MySQLコンソールを開いてユーザとパスワードを作成し、権限付与。

ここで追加した情報は後半のdatabase.ymlの追記で使う。


  • Gemfileに追記

Gemfile

あわせてバンドルしとく。

bundle install

  • スケルトン作成時にMySQLをデフォルトに設定

rails new your_app -d mysql

これでMySQLでアプリが制作できる。

途中でsqlite3からMysqlへのmigrationしたい場合

今度はデフォルトではなく、
アプリを作成している最中にMySQLを使いたくなったときの手順。

  • Gemfileに追記

Gemfile

バンドルする。

$ bundle install

sqliteで使われているdatabase.ymlの情報をダンプする。

$ rake db:dump

次にdatabase.ymlの内容をMySQL用に書き換える。

自分は本番環境はherokuを利用していて、
テスト環境でしかMySQLを使わないため下記のように追記した。
database.yml

  • database.yml の変更

データのmigrationを行う。

$ rake db:load

# 出力内容

create_table("items", {:force=>true})
-> 0.1212s
create_table("pens", {:force=>true})
-> 0.0129s
create_table("products", {:force=>true})
-> 0.0156s
create_table("tests", {:force=>true})
-> 0.0114s
create_table("users", {:force=>true})
-> 0.0113s
initialize_schema_migrations_table()
-> 0.0311s
assume_migrated_upto_version(20130615072145, ["/var/www/html/moo_task_3/db/migrate"])
-> 0.0101s

MySQLへの移行したっぽいけど、

一応確認...

うまくいってる!!

参考