古いバージョンのドキュメントです。最新のバージョンはRails7.0.0

Railsドキュメント(v6.0.2.1)

テーブルを作成

説明

テーブルを作成

使い方

create_table(テーブル名 [, オプション])

ブロック

create_table テーブル名  [, オプション] do |t|
  t.型 カラム名 [, カラムオプション]
end

オプション

オプション 説明 デフォルト値
:id 主キーを自動生成 true
:primary_key 主キーのカラムの名前 id
:options テーブルオプション  
:temporary 一時テーブルとして作成 false
:force テーブルを作成前に、既存のテーブルを削除 false
:as テーブル作成時に使うSQL  

カラムオプション

オプション 説明 デフォルト値
:limit カラムの桁数  
:default デフォルトの値  
:null nullを許可するか true
:precision 数値の桁数  
:scale 小数点以下の桁数  

カラムの型

データ方 説明
string 文字列
text 長い文字列
integer 整数
float 浮動小数
decimal 精度の高い小数
datetime 日時
timestamp より細かい日時
time 時間
date 日付
binary バイナリデータ
boolean Boolean型

テーブルの作成

crate_table :products do |t|
  t.string :name
end

空のカラムを禁止

create_tabe :products |t|
  t.string :name, null: false
end

文字コードを指定してテーブルを作成

create_table :suppliers, options: 'ENGINE=InnoDB DEFAULT CHARSET=utf8'

主キーを指定してテーブルを作成

create_table(:objects, primary_key: 'guid') do |t|
  t.column :name, :string, limit: 80
end

プライマリーキーの無いテーブルを作成

create_table(:categories_suppliers, id: false) do |t|
  t.column :category_id, :integer
  t.column :supplier_id, :integer
end

ソースコード