2013-03-07 145 views
0

我正在閱讀RoR的在線指南,並看到了這段遷移代碼。什麼是遷移索引?

change_table: products do |t| 
    #some code here 

    t.string :part_number 
    t.index :part_number 

    #some code here 
end 

這是什麼指標?由於我已經有一個名爲part_number的字符串列,爲什麼可以添加另一個具有相同名稱但類型不同的列?

+0

對於SQL數據源,它映射到CREATE INDEX語句([MySQL](http://dev.mysql.com/doc/refman/5.6/en/create-index.html),[Postgres]( http://www.postgresql.org/docs/9.2/static/sql-createindex.html))。這會創建一個名爲':part_number'的字符串列,然後創建一個索引列來加速查詢。 – 2013-03-07 21:19:52

+0

如果我記得沒錯,索引的列名實際上是'part_number_index' – AdamT 2013-03-07 21:35:55

回答

2

這就是說,part_number將被用作索引。該列的名稱不是part_number

+0

索引是否與主鍵相同?那麼這個專欄的名字是什麼? – OneZero 2013-03-07 21:12:51

+0

不,索引是組織數據庫的一種方式,因此很容易搜索。 – AdamT 2013-03-07 21:14:14

+0

所以一張桌子只能有一個索引,對吧? – OneZero 2013-03-07 21:15:08