teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

追記

2018/09/25 08:49

投稿

kozica
kozica

スコア58

title CHANGED
File without changes
body CHANGED
@@ -7,10 +7,21 @@
7
7
  $sudo mysql
8
8
  ではuft8mb4になっており、
9
9
  $rails dbconsole
10
- だとlatin1になってす。
10
+ だとlatin1になっているので、問題はRails側にあるようです。
11
- 問題はRailsにあるのでしょうか?
12
11
 
12
+ 色々調べた所RailsでDB作成時の文字コードになるのが原因なようです。
13
+ そこで改善策を見た所、DBを削除して作り直す方法と下記のようにoptionを
14
+ つけてmigrateする方法しかわかりませんでした。
15
+
16
+ これだと毎回optionをつける必要性があるため
17
+ どうにか設定変更して今後もutf8mb4として使えるようにできないでしょうか?
13
18
  ```ruby
19
+ def change
20
+ create_table :personal_log_merges, options:"DEFAULT CHARSET=utf8mb4" do |t|
21
+ ```
22
+
23
+
24
+ ```ruby
14
25
  mysql> show variables like 'char%';
15
26
  +--------------------------+----------------------------+
16
27
  | Variable_name | Value |

1

追記

2018/09/25 08:49

投稿

kozica
kozica

スコア58

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,13 @@
3
3
 
4
4
  AWSのEC2インスタンスをssh接続で使用しています。
5
5
 
6
+ 確認したところ、
7
+ $sudo mysql
8
+ ではuft8mb4になっており、
9
+ $rails dbconsole
10
+ だとlatin1になってます。
11
+ 問題はRailsにあるのでしょうか?
12
+
6
13
  ```ruby
7
14
  mysql> show variables like 'char%';
8
15
  +--------------------------+----------------------------+
@@ -40,4 +47,14 @@
40
47
  log-error=/var/log/mysqld.log
41
48
  pid-file=/var/run/mysqld/mysqld.pid
42
49
 
50
+ #Rails DBの設定
51
+ #config/database.yml
52
+ default: &default
53
+ adapter: mysql2
54
+ encoding: utf8mb4
55
+ pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
56
+ username: ユーザー名
57
+ password:
58
+ socket: /var/lib/mysql/mysql.sock
59
+
43
60
  ```