带_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依赖目标文件的约定,但没有任何问题,它可以用不同的方式定义。
答
不,不会因为不存在的模型而取消任何迁移。
答
我不知道原始海报是否使用脚手架和“参考”类型创建了新模型。如果是这种情况,那么在尝试创建外键期间迁移将失败。
否则,如果它只是一个整数,将_id添加到可接受的列名的末尾没有任何问题。
当我做t.integer:external_id – 2013-03-12 19:45:56