80日目
今日の学習
Ruby on Rails
楽天APIで検索したものをDBに保存
楽天ブックス書籍検索APIで検索した商品の一つをDBに保存する - Qiita
こちらを参考に練習。
MySQL
MySQLを利用してアプリを作成してみたところ、初期設定などが必要だったためメモ。
Rails用のユーザーを登録しようとしたところ、以下のようなエラー文が返ってくる。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Mysql 5.7* パスワードをPolicyに合わせるとめんどくさい件について - Qiita
パスワードをもっと複雑にしてくださいとのこと。ポリシーを変更して設定しやすくする。
【Rails/MySQL】RailsにMySQLを導入する方法【プログラミング学習149日目】 - Qiita
こちらの記事にそってアプリを新規作成した。
dotenv-rails
というgemを用いることで、MySQLのパスワードを環境変数で管理できるようになる。
bundle install
をした後に、touch .env
で.env
ファイルを作成した後、以下のように記述する。
.env DATABASE_DEV_PASSWORD = '自分のパスワード' DATABASE_DEV_USER = '作成したMySQLユーザー名'
config/database.yml
のusername
、password
、host
の部分をそれぞれ書き換える。
username: <%= ENV['DATABASE_DEV_USER'] %> password: <%= ENV['DATABASE_DEV_PASSWORD'] %>
最後に、.gitignore
に.env
を追加しておき、プッシュされないようにしておく。
学習メモ
間違った名前で rails generateしてしまった場合
Railsでファイル名を間違えて「generate」してしまった時の対策 - Qiita
usersコントローラを作るつもりが、userコントローラを作ってしまい、どうにかして一気に誤ったファイルを消す方法がないか検索した。
destroy
、もしくはd
で削除できるのは簡単で便利。
MySQL利用時にエラー
今回、初めてDBにMySQLを利用してみたところ、以下のようなエラーが出た。
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
mysqlが起動できない(Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)) - Qiita
こちらの記事の通り、mysql.sock
というファイルがないのが原因だった。