LoginSignup
1
0

More than 3 years have passed since last update.

意気揚々と本番環境にdeployしたら全くSQLに受け入れられなかった

Posted at

ふざけたSQLちゃんだ

Userのcreateは成功する
そのUserに関連する個人情報用テーブルでROLLBACKされる。
なんでや。

AWSなのでログを持ってこないといけない、めんどい(このレベルから始める)

$ cd /var/www/貴殿のproduct/shared/log

にあった production.log を読む

$ less production.log

そして開けたら "Shift + F"で最新(下部)に吹っ飛ぶ
固定されるので、もしそこより古い情報を見たい場合は"Ctrl + C"
僕の場合表示されてたのは

ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value: '\xE7\xBF\x81\xE9\x95\xB7' for column

こやつ。カラムがstringで設定されてるのになんでや?と調べてみたらutf8に設定されてないところがあるらしい。
さあ調べよう

mysql -u root -p

からの

show variables like "chara%";

value値が"latin1"なっているところをがあるに違いない。
実際あった。

uft-8に変更するべ

僕の場合は "/etc/my.cnf" を変更すればいいらしい。

$ sudo vi /etc/my.cnf

を開いて( i で編集可能やで)

[mysqld]
character-set-server=utf8

[client]
default-character-set=utf8

これを追加。"ESC => :wq"
そして再起動

sudo service mysqld restart

上手く行くはず。やったね!!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0