我想migration在Rails中创建一个引用另一个表.通常,我会这样做:
add_column :post, :user, :references
Run Code Online (Sandbox Code Playgroud)
这将创建一个名为列user_id在posts表中.但是,如果,而不是user_id,我想要的东西author_id呢?我怎样才能做到这一点?
另一个基本的Rails问题:
我有一个数据库表,需要包含对特定数据类型的两个不同记录的引用.
假设的例子:我正在制作视频游戏数据库.我有一张"公司"表.我希望每个"Videogame"条目只有一个开发人员和一个发布者.
我知道,如果我想拥有一家公司,我可以做以下事情:
script/generate Videogame company:references
Run Code Online (Sandbox Code Playgroud)
但我需要两家公司.我宁愿不使用连接表,因为只能有两个给定的数据类型,我需要它们是不同的.
似乎答案应该非常明显,但我无法在互联网上的任何地方找到它.
如果你在Rails 4中有这个:
t.references :event, index: true
Run Code Online (Sandbox Code Playgroud)
现在你可以使用foreign_key而不是index在Rails 5.我不太明白为什么他们决定这样做,因为功能保持不变,你添加的是INDEX,而不是该列的FOREIGN KEY.