LoginSignup
0
0

More than 3 years have passed since last update.

Rails6 のちょい足しな新機能を試す26(MySQL utf8mb4 編)

Last updated at Posted at 2019-05-29

はじめに

Rails 6 に追加されそうな新機能を試す第26段。 今回は、 MySQL の utf8mb4 編です。
Rails 6.0.0 では、 rails new -d mysql を実行(データベースにMySQLを指定)したときに encoding が utf8mb4 になります。

Ruby 2.6.3, Rails 6.0.0.rc1 で確認しました。Rails 6.0.0.rc1 は gem install rails --prerelease でインストールできます。

$  rails --version
Rails 6.0.0.rc1

Rails プロジェクトを作る

-d mysql を指定します。

$ rails new rails6_0_0rc1 -d mysql
$ cd rails6_0_0rc1

database.yml を確認する

yda database.yml を確認すると、 encoding が utf8mb4 になっていることがわかります。

config/database.yml
default: &default
  adapter: mysql2
  encoding: utf8mb4
  ...

User の CRUD を作る

utf8mb4 を試すために、実際に User の CRUD を作ります。

$ bin/rails g scaffold User name

データベースの migration

$ bin/rails db:create db:migrate

rails server を実行してユーザーを登録する

bin/rails s を実行して、 http://localhost:3000/users/new にアクセスして User を登録します。
このとき name に 🍣と🐟 を入力します。

$ bin/rails s

Rails 6.0.0rc1 では無事に登録できました。

rails600rc1.png

Rails 5.2.3 ではエラーになります。

rails523.png

蛇足ですが

name に絵文字はないだろうとか思ったりしましたが、そこはスルーで。
rails g scaffold Book title とかにした方がまだ良かったかもと思わないでもないです...。

スクリーンショットの絵文字とこの記事の絵文字の見え方が違うのは、多分 OS の(フォント?)の違いです。
スクリーンショットは Ubuntu 16.04 の Chrome で取ったものです。

試したソース

試したソースは以下にあります。
https://github.com/suketa/rails6_0_0rc1/tree/try026_mysql_utf8mb4

参考情報

0
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
0
0