たれみみマンデー

Railsでsqlite3からMySQLへの変更でつまったとこ

 

これまでデータベースはデフォルトのsqlite3を使ってましたが、

ローンチが見えてき(難しくて避けてきたMySQLへの移行が避けきれなくなった)たので、MySQLへ切り替えでハマった際に参考になったサイト、コマンドをまとめていきます。

 

ps aux | grep mysql

kill -9 **プロセス番号**

 

Mysqlのパスワードの初期化方法 - あぷすた

 

【mysql】止まらないプロセスを切る「mysqld_safe A mysqld process already exists」 | 武骨日記

 

MySQL 5.7.6でroot用パスワードが変わらなくて困った話 - Qiita

 

 

mysql.server restart

 

sudo chown _mysql /usr/local/var/mysql/*

 

sudo tail -f /usr/local/var/mysql/****.local.err

 

bundle install --path vendor/bundle

 

 

 

MySQLのエラー解決。

MySQLの設定。

sudo mysql.server restart

ググりまくっても解決できなかった。

ERROR! The server quit without updating PID file (/usr/local/var/mysql/******.local.pid)

しかーし、結局コレで動いた。

 

sudo mv /etc/my.cnf /etc/my.cnf.backup

 

たれみみ

@taremimi_7

Herokuのデプロイエラー

Herokuでpush(デプロイ)できない、こんなエラーが。

Build timed out while waiting to start.

! [remote rejected] master -> master (pre-receive hook declined)

 

解決策

heroku maintenance:on

メンテナンスモードにして、再度git push heroku master。

動いた。

 

heroku maintenance:off

で戻して無事解決。

 

たれみみ

@taremimi_7

Deviseでサインイン後に任意のアクションへ飛ばす【Ruby on Rails】

 

app/controllers/application_controller.rbに以下を追加。

 

def after_sign_in_path_for(resource)

   ******_path(current_devise_user.id)

end

 

メモメモ。

@taremimi_7

Rails高速化参考サイト

Rails高速化にあたって参考にしたサイト。

忘れないためにまとめときます。

(もた日記さんはRailsチュートリアル並におすすめ! Rails勉強し始めたかれこれ2年程前も、このサイトのおかげで理解が一気に進んだ記憶が。昔からお世話になってます....)

wonderwall.hatenablog.com

wonderwall.hatenablog.com

wonderwall.hatenablog.com

www.sejuku.net

texta.pixta.jp

jsonファイルをローカルで呼び出すときのエラー

jsonファイルをローカルで呼び出そうとすると

Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

のエラー。

 

sudo /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args -allow-file-access-from-files

 

で直ります。

 

@taremimi_7

Rails5のチャットでメッセージが重複する謎。

 

日本語でこの解決記事初だ〜(たぶん)

app/assets/javascripts/channels/*****.coffeeで、App.cable.subscriptions.create前に

if (!App.order) を入れたら重複が取り除けます。(orderは直後にApp.cable...を代入する変数(?メソッド名?テーブル名?)に変えて下さい。)

※インデント注意して下さい 

 

~~省略~~

if (!App.order) 

  App.order = App.cable.subscriptions.create { channel: "OrderChannel",order_id: messages.data('order_id'),name: messages.data('devise_id')},

      connected: ->

~~省略~~

 turbolinks:loadのせいで重複なるらしいです。(あ、上の赤色部分を付け足せばturbolinks:loadを消さずとも動きます)

 

ではでは。

@taremimi_7