Railsでsqlite3からMySQLへの変更でつまったとこ
これまでデータベースはデフォルトのsqlite3を使ってましたが、
ローンチが見えてき(難しくて避けてきたMySQLへの移行が避けきれなくなった)たので、MySQLへ切り替えでハマった際に参考になったサイト、コマンドをまとめていきます。
kill -9 **プロセス番号**
【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
vim /etc/my.cnf で
[client]
socket=/tmp/mysql.sock
[mysqld]
socket=/tmp/mysql.sock
それでもぼくのPCはにっちもさっちもいかなくて
結局、homebrewごとアンインスコしてrubyやらmysqlやら入れ直しましたらうまくうごきました。
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高速化参考サイト
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