相关疑难解决方法(0)

如何在Rails 5.1中关闭BIGINT主键

Rails 5.1迁移为表的主键(changelog)生成BIGINT(而不是).Integer

是否可以在配置中的某个位置禁用它?如果是这样,如何禁用它?

ruby ruby-on-rails ruby-on-rails-5.1

5
推荐指数
1
解决办法
1755
查看次数

如何在Rails中管理非自动增量主键?

我有很多情况,我希望在使用Rails时有一个非自动增量主键.

示例:我在A和B之间有一对一的关系.B描述了添加到A的一些特定功能,因此在没有A的情况下不能存在.所以我们有:

A有一个B
B属于A.

自然的想法是将B.A_id作为主键.所以我尝试create_table b, :id=>false了迁移和set_primary_key :a_idB的模型,但它没有在数据库中创建实际的主键.我想要它们(以及外键),因为数据库不仅会被这个Rails应用程序使用.

如果我用执行创建主键,它们不会落在schema.rb中,这会受到伤害.现在我正在考虑一个解决方法:只要对该列有唯一约束,我就可以没有PK约束,所以我可以在迁移中使用Rails的add_index,这似乎更优雅.

有什么建议?

activerecord ruby-on-rails primary-key

4
推荐指数
1
解决办法
5318
查看次数