Ruby On Rails自定义ID

嗨我想要一个表的自定义ID,而不是使用默认的auto_increment。 那可能吗? 我转过身了:id => false后来我创建了一个t.column:id,:bigint但是当我创建一个新记录时,id被设置为NULL

反正有没有绕过这种行为。 我可以将我的主键设置为字段uid(它实际上是facebook id)但通常它会因为关系通常查找id字段而中断

使用Rails的代理自动增量ID作为主要ID几乎肯定会更容易。

有第二个唯一列facebook_id并根据该字段执行所有搜索没有问题,但是由于你提到的兼容性原因(即插件作者做出假设他们不应该这样做),我会坚持使用Rails默认值。 与主键和唯一键相关的性能问题很小

我不知道问题出在哪里。 当你为id列禁用auto_increment并且不要手动插入id值时,id当然是NULL。

顺便说一句:您可以定义关系的外键和主键。 使用facebook_id作为主键是没有问题的。