1. ホーム
  2. ruby-on-rails

[解決済み】railsの文字列とtextの違い?

2022-03-23 13:54:47

質問

Railsを使って新しいWebアプリを作っているのですが、以下の違いは何ですか? stringtext ? また、それぞれはどのような場合に使用するのでしょうか?

どのように解決するのですか?

この違いは、シンボルがクエリ言語のそれぞれのカラムタイプにどのように変換されるかに依存します。

<ブロッククオート

MySQLでは :string は VARCHAR(255) にマップされます。

:string |                   VARCHAR                | :limit => 1 to 255 (default = 255)  
:text   | TINYTEXT, TEXT, MEDIUMTEXT, or LONGTEXT2 | :limit => 1 to 4294967296 (default = 65536)

参考

https://hub.packtpub.com/working-rails-activerecord-migrations-models-scaffolding-and-database-completion/

それぞれどのような場合に使用するのでしょうか?

一般的な経験則として :string は短いテキスト入力(ユーザー名、メールアドレス、パスワード、タイトルなど)、そして :text 説明文やコメントの内容など、長い入力が予想される場合に使用します。