テーブルを作成
適応バージョン
- 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