每當我不得不在軌中做一個HABTM我總是發現自己想知道是否可以從命令行生成所需的遷移。導軌是否允許您從命令行生成HABTM遷移?
我希望通過只是在做這樣的事情,以節省時間:
rails g migration tracks_podcasts tracks:references podcasts:references id:false
上面的代碼不工作,也不做它的一些變化(有和沒有ID:假指令)
每當我不得不在軌中做一個HABTM我總是發現自己想知道是否可以從命令行生成所需的遷移。導軌是否允許您從命令行生成HABTM遷移?
我希望通過只是在做這樣的事情,以節省時間:
rails g migration tracks_podcasts tracks:references podcasts:references id:false
上面的代碼不工作,也不做它的一些變化(有和沒有ID:假指令)
根據rails文檔,這應該可以工作,但是您希望將'references'替換爲'integer'。 '引用'不是有效的數據類型。並擺脫id:false entry。應該在生成後的遷移中指定引用和:id => false。您將基本上生成所有您想要的字段的基本遷移,然後打開遷移並修改它以符合您的規格。
Usage:
rails generate migration NAME [field:type field:type] [options]
Options:
-o, --orm=NAME # Orm to be invoked
# Default: active_record
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend] # Run but do not make any changes
-q, [--quiet] # Supress status output
-s, [--skip] # Skip files that already exist
Description:
Create rails files for migration generator.
引用是一個有效的值,t.references:foo轉換爲t.integer:foo_id。實際上,您可以創建自己的類型,如設計模型遷移和t.timestamps – Cluster 2011-09-30 07:14:39
可能重複[?我是否需要手動創建一個HABTM連接表遷移(http://stackoverflow.com/questions/564306/do-i-need-以手動創建一個遷移爲一個habtm連接表) – 2011-03-12 00:35:02
似乎是一個更好的答案在這裏: http://stackoverflow.com/questions/6561330/rails-3-has-and -belongs-to-many-migration – Arcolye 2011-11-28 02:53:37