(Rails)テーブルのデータ型
はじめに
覚えているようで覚えてない🙃今日も初歩中の初歩の範囲をまとめてみます。
文字列型 → 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制約や、外部キー制約といったオプションをマイグレーションファイルに自動的に設定してくれる。
⭐️polymorphic???(ポリモーフィック)
Polymorphic関連付けは、1つのテーブルを複数のモデルと関連付けるための方法。
これにより、異なるモデルのインスタンスを同じテーブルに格納できる。
モデル作成時、ポリモーフィック関連をしたいnotifiableに{}で指定したらつくのかな?(予想)
(仕組みはわからないけどt.references :notifiableしたらmigrateした時には適切なカラム名(notifiable_type・notifiable_id)に変換されるらしい)...なるほどわからん😧
これはまた別記事でしっかりまとめた方が良さそうだな笑
データ型っていつもあまり考えず実装していた節がありましたが
こんなにあるんだと再認識しました。
db:migrateも忘れないようにしないと...😗
いつか何かの役に立つといいなあ!👍🏻
Discussion