LoginSignup
1
2

More than 3 years have passed since last update.

DBを途中からmysqlに切り替える

Last updated at Posted at 2019-06-25

今日もまた詰まったところがあったので眠気を我慢して投稿します:sob:

今回rails newをする際にmysqlを指定しなかったため、いつも通りrails g modelを行ってもDBが生成されず踠いていました・・・

メモ程度に残しますので参考にして下さい!

上記に描いた通りなにも指定しないと、sqlite3が標準実装されるので、
まずmysql2をインストールし、既存のsqlite3はコメントアウトします。
※また今回はバージョンを特に指定しなくても切り替えが可能だった。
 Railsのバージョンによっては指定が必要かも。

Gemfile

# gem 'sqlite3', '~> 1.4.1'
gem 'mysql2'

そしていつも通りコンソールでコマンド実行。

$ bundle install

次にdatabase.ymlの以下のように記述を変更。
今回は変更前がどうだったか載せるのを忘れてしまったが、とりあえず
adapter: mysql2と host: localhost、 database: ”DBに保存するファイル名”は、
必ず追記または記載の変更をする。

database.yml
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock
  host: localhost

development:
  <<: *default
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: sumple_database
  pool: 5
  username: root
  password:
  host: localhost

test:
  <<: *default
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: sumple_database_test
  pool: 5
  username: root
  password:
  host: localhost

あとはターミナルでコマンド実行でDBを生成します!

$ rails db:create
$ rails db:migrate

僕の場合この対応で、SequelProを確認したらきちんとテーブルが設定されていました。
さっきも言ったとおりバージョンによって対応が変わる場合もあります。
もしここ間違ってるとか、補足情報があれば教えて下さい。

1
2
0

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
1
2