今日もまた詰まったところがあったので眠気を我慢して投稿します
今回rails newをする際にmysqlを指定しなかったため、いつも通りrails g modelを行ってもDBが生成されず踠いていました・・・
メモ程度に残しますので参考にして下さい!
上記に描いた通りなにも指定しないと、sqlite3が標準実装されるので、
まずmysql2をインストールし、既存のsqlite3はコメントアウトします。
※また今回はバージョンを特に指定しなくても切り替えが可能だった。
Railsのバージョンによっては指定が必要かも。
# gem 'sqlite3', '~> 1.4.1'
gem 'mysql2'
そしていつも通りコンソールでコマンド実行。
$ bundle install
次にdatabase.ymlの以下のように記述を変更。
今回は変更前がどうだったか載せるのを忘れてしまったが、とりあえず
adapter: mysql2と host: localhost、 database: ”DBに保存するファイル名”は、
必ず追記または記載の変更をする。
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を確認したらきちんとテーブルが設定されていました。
さっきも言ったとおりバージョンによって対応が変わる場合もあります。
もしここ間違ってるとか、補足情報があれば教えて下さい。