带_id后缀的rails迁移列名称

问题描述:

想要进行rails迁移,但我希望列名是external_id之类的东西,但我不想使用外部模型。我认为,默认情况下,每当看到_id作为后缀它寻找外键关联,如果它不存在迁移被取消。 这有什么解决方案。我有带_id后缀的rails迁移列名称

def self.up 
    create_table :external_mappings do |t| 
     t.string :external_name 
     t.integer :external_id 

     t.timestamps 
    end 
    end 

感谢您的帮助


当我让t.integer:外部ID迁移工作。这让我觉得external_id正在寻找foreiegn的关键参考,有没有什么办法可以压制foriegn的关键参考。我正在使用rails 2.3.5

你也可以给任意一列_id名称和引用外键而没有_id也是如此,随时可以继续。这只是Rails依赖目标文件的约定,但没有任何问题,它可以用不同的方式定义。

不,不会因为不存在的模型而取消任何迁移。

+0

当我做t.integer:external_id – 2013-03-12 19:45:56

我不知道原始海报是否使用脚手架和“参考”类型创建了新模型。如果是这种情况,那么在尝试创建外键期间迁移将失败。

否则,如果它只是一个整数,将_id添加到可接受的列名的末尾没有任何问题。