じゃあ、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への移行したっぽいけど、
一応確認...
うまくいってる!!
参考