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方法? –