テーブルを作成
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.2.1
- 7.0.0
説明
テーブルを作成
使い方
create_table(テーブル名 [, オプション])
ブロック
create_table テーブル名 [, オプション] do |t|
t.型 カラム名 [, カラムオプション]
end
オプション
オプション | 説明 | デフォルト値 |
---|---|---|
:id | 主キーを自動生成 | true |
:primary_key | 主キーのカラムの名前 | id |
:options | テーブルオプション | |
:temporary | 一時テーブルとして作成 | false |
:force | テーブルを作成前に、既存のテーブルを削除 | false |
:if_not_exists | テーブルが存在するときにエラーにしない | 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