🐣

(Rails)テーブルのデータ型

2024/06/06に公開

はじめに

覚えているようで覚えてない🙃今日も初歩中の初歩の範囲をまとめてみます。


文字列型 → string   |   整数型 → integer

🩵出力方法が違う!
文字列型(string)  ⇨” ”で囲むのに対し整数型は” ”は使わない

文字列型
puts "私は" + "文字列型" + "です"
整数型
puts 5 + 3

文字列型と整数型の変換

🩵[.to_s]と[.to_i]を使う
例(私は今年で20です)

puts "私は今年で" + "20.to_s" + "です"

テーブルの作成コマンド

😗 { モデルと一緒に作成できるよ

$ rails g model Book(モデル名) name:string body:text(カラム名:データ型)

※モデル名は 『先頭大文字・単数形』 が決まりごと🧐

データ型 種類
integer 整数型(4バイト)
bigint 整数型(8バイト)
float 数値(浮動小数点数)
decimal 10進数(29桁まで)
string 文字列(1 〜 255文字)
text 文字列(1 〜 4,294,967,296文字)
binary バイナリ文字列型
character 一文字分
date 日付(1000-01-01 〜 9999-12-31)
time 時刻
datetime 日付と時間
boolean 真偽
primary_key プライマリーキー(主キー)

などなど。。。一例です🙃いくつか聞きなれないものもありました。
調べてあまりにも難しいそうなものは省きました。。🙃

binary(バイナリ文字型)とは?

▶︎ コンピュータ用語で、データが「0」と「1」で表現されているデータ形式のこと。
人間に直接読み取れ図、コンピュータが読み取ることのできるデータ形式のこと
バイナリファイルの主なものとしては、
   ・ 音声ファイル
   ・ 画像ファイル
   ・ 圧縮ファイル     などがあります..🧐

テーブル作成後、内容確認したい場合は
「db」の「schema.rb」を見れば確認できる!


23.6/9追記

▶︎ポリモーフィック関連を利用した設計に関して実装中の出来事

$ rails g model Notification user:references notifiable:references{polymorphic} read:boolean

⭐️データ型:references???(誰〜ww)

▶︎references型は新しく作成するテーブルのカラムに、作成済みのテーブルを指定する場合に使う。
▶︎既存のテーブルを参照するので、reference(参照という意味)。
▶︎referencesを指定すると、モデル同士の関連付けを行う場合に通常必要になるNOT NULL制約や、外部キー制約といったオプションをマイグレーションファイルに自動的に設定してくれる。

https://qiita.com/mmaumtjgj/items/cdc76572d392957c4299

⭐️polymorphic???(ポリモーフィック)

Polymorphic関連付けは、1つのテーブルを複数のモデルと関連付けるための方法。
これにより、異なるモデルのインスタンスを同じテーブルに格納できる。

モデル作成時、ポリモーフィック関連をしたいnotifiableに{}で指定したらつくのかな?(予想)
(仕組みはわからないけどt.references :notifiableしたらmigrateした時には適切なカラム名(notifiable_type・notifiable_id)に変換されるらしい)...なるほどわからん😧
これはまた別記事でしっかりまとめた方が良さそうだな笑

データ型っていつもあまり考えず実装していた節がありましたが
こんなにあるんだと再認識しました。
db:migrateも忘れないようにしないと...😗
いつか何かの役に立つといいなあ!👍🏻

Discussion