Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
232
Help us understand the problem. What is going on with this article?

More than 5 years have passed since last update.

@pchatsu

railsのDBをmysqlに変更する。

最初に、

$ rails new アプリケーション名 -d mysql
or
$ rails new アプリケーション名 --database=mysql

でやれば、出来るのだが、今回は後から変更することを想定しています。

database.yml
development:
  adapter: mysql2
  encoding: utf8
  database: blog_development
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

に設定を変更。
この内容は、 $ rails new アプリケーション名 -d mysql でアプリケーションを作成した時のconfig/database.yml を参考に記述しているだけです。

DB設定を更新したので、DB側の準備をしていきます。

bundle exec rake db:create

を行うと、以下のエラーが出ました。

(in [DIRECTORY])
rake aborted!
Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (mysql2 is not part of the bundle. Add it to Gemfile.)

内容は、mysql用のアダプタがないということです。
したがってGemfileを書き換えて、mysqlのアダプタのgemを追加していきます。

# gem 'sqlite3' <- 必要ないので削除
gem 'mysql2'

コンソールに移って、

$ bundle install

これで、mysqlのアダプタのgemを加える事ができました。
更に、mysqlにDBの追加と、テーブル作成を行っていきます。

$ bundle exec rake db:create
$ bundle exec rake db:migrate
==  CreateTables: migrating ===================================================
-- create_table(:tables)
   -> 0.0186s
==  CreateTables: migrated (0.0187s) ==========================================

これで完了です。

232
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
232
Help us understand the problem. What is going on with this article?