migration integer limit option

 

https://gist.github.com/stream7/1069589

 

:limit        Numeric Type    Column Size    Max value
1             tinyint           1 byte        127
2             smallint          2 bytes       32767
3             mediumint         3 byte        8388607
nil, 4, 11    int(11)           4 byte        2147483647
5..8          bigint            8 byte        9223372036854775807

 

关于sequence 字段
limit: 2 是两个字节,16 位,2 的 15 次方是 32767

class CreateTableSubjections < ActiveRecord::Migration[5.0]
  def change
    create_table :table_subjections do |t| 
      t.belongs_to :subject, index: true
      t.belongs_to :video, index: true
      t.string :title, limit: 40
      t.string :sub_title, limit: 40
      t.string :description, limit: 500
      t.integer :status, limit: 1
      t.integer :sequence, limit: 2

      t.timestamps
    end 
  end 
end

 

 

对于多态关联的表

class CreateSubjections < ActiveRecord::Migration[5.0]
  def change
    create_table :subjections do |t| 
      t.belongs_to :subject, index: true
      t.string :title, limit: 40
      t.string :sub_title, limit: 40
      t.string :description, limit: 500 
      t.string :subjectable_type, limit: 20
      t.integer :subjectable_id
      t.integer :status, limit: 1
      t.integer :sequence, limit: 2

      t.timestamps
    end 

    add_index :subjections, [:subjectable_type, :subjectable_id]
  end 
end

t.integer :subjectable_id 不需要设置limit,因为这个是用来做外键的,存储的是数据库的自增主键

 

posted @ 2016-09-18 11:47  冰凌花花~  阅读(202)  评论(0编辑  收藏  举报