プログラミング備忘録

プログラミングの学習状況をメモしています

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.ymlusernamepasswordhostの部分をそれぞれ書き換える。

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というファイルがないのが原因だった。