カラムのデータ型

  • string : 文字列
  • text : テキスト
  • integer : 整数
  • float : 浮動小数点
  • decimal : 数値
  • datetime : 日時
  • timestamp : タイムスタンプ
  • time : 時刻
  • date : 日付
  • binary : バイナリ
  • boolean : 真偽値

参考:

rails generate migration コマンドまとめ – Qiita

datetime 型

参考:

日付や時刻のカラム名を命名規則に合わせよう 翻訳 | TechRach

Postgresql で Date / Datetime 型のカラムから “年・月・日” などでデータを抽出する – Qiita

find_by_sql で datetime カラムの値を取り出す書き方 – teratail

timestamp 型

参考:

Timestamp in Epoch instead of DateTime Format – Stack Overflow

time 型

参考:

Rails で DB の Time 型を扱う | おもしろ web サービス開発日記

日時を表す型

参考:

どうして rails では timestamp ではなく datetime を created_at などに利用するのですか? – スタック・オーバーフロー

Date, Time, DateTime in Ruby and Rails | Tech Notes from Steven

In Ruby on Rails, what’s the difference between DateTime, Timestamp, Time and Date? – Stack Overflow

boolean

デフォルト値を false にして、NULL を禁止する

add_column :responses, :has_error, :boolean,
  default: false, null: false

参考:

Boolean 型のカラムを追加するときは必ずデフォルト値を設定しよう – Qiita

Rails でのブール型 (Boolean) の扱い | LukeSilvia’s diary

tinyint(1) が true, false なのは Rails の世界 | hatappi.blog

真偽値の判定に、tinyint(1) を使うか、bool, boolean 型を使うか、bit(1) を使うか、enum を使うか | ぽひゅっとメモ

Rails で truthy / falsy な文字列を Boolean 型に変換する | kenju’s blog

Avoid the Three-state Boolean Problem | thoughtbot Blog

What is the proper way of adding a default boolean value that works in MySQL? – Stack Overflow

Rails migration add default not null properties to existing boolean field – Stack Overflow

Ruby true, false, or nil – Stack Overflow

decimal

参考:

decimal カラムをデフォルトで作成すると小数点以下が0桁になるから気をつけよう – Qiita

マイグレーションで decimal 型の精度 (桁数) を指定 | EasyRamble

Rails の migration ファイルで decimal 型のカラムを作成する | 僕は発展途上技術者

Rails で小数を扱ってハマったところ – Qiita

created_at / updated_at

参考:

ActiveRecord の timestamps (created_at / updated_at) の実装を読んでみた | EasyRamble

Rails の timestamps カラム (created_at, updated_at) と別に日時カラムを作る理由が分からん | アジャイル SE の憂鬱

Timestamp

参考:

意外と知らない Timestamp – Qiita

ActiveRecord::Timestamp | Ruby on Rails API [Official]

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA