1
所以,我一直在使用這一段代碼我遷移內側扶手:Rails的遷移相當於SQL代碼
add_column :target_table, :FK, :integer
execute <<-SQL
ALTER TABLE target_table
ADD CONSTRAINT constraint FOREIGN KEY (FK)
REFERENCES some_table (id)
ON UPDATE CASCADE ON DELETE RESTRICT
SQL
而且任何優秀的程序員,我想保持的東西短且越快越好。
我是新來的這種語言,想知道下面的代碼是否等於我的SQL(在所有方面)。
add_column :target_table, :FK, :integer, null: false
add_index :targe_table, :FK
PLUS: 如果這些代碼在裏面向上的方法,應該怎麼雷倒方法是什麼樣子?
- 編輯 -
我做了一些研究和了解這樣做的第三條道路:
add_column :target_table, :FK, :integer, null: false, references: some_table
那些是所有相同呢?軌道約定是否會爲索引添加適當的約束? 我真的很感激,如果有人能告訴我的差異。
嗯所以基本上軌道的方式來做它更通用的權利,但它會產生完全相同的結果? 我會不會添加一個remove_column調用down方法? –