【发布时间】:2013-11-06 19:15:06
【问题描述】:
我刚刚开始 ROR 并为 SQLite 数据库制作不同的表,并且在自动生成表和外键的 id 方面遇到了一些麻烦。为了创建我的表,我使用了“rails generate scaffold”命令,后面跟着我需要的属性。我去了 db/migrate 目录并查看了我刚刚定义的内容。但我不明白我应该如何明确引用外键。我习惯使用 Oracle,所以我通常会在创建过程的第一步中执行此过程,并且已经完成。
例如,我有一个 users 表,其中包含一些通用属性,例如用户名、密码等。我还有一个 orders 表,其中包含 transactionID(自动生成)、userID(我希望这是一个 FK)属性, PartNo(产品表中的 FK 键)。我不明白的是如何使用用户表中自动生成的键并将其作为外键包含在 Orders 表中。
另外,我在其他地方读到,如果我输入一行代码,例如
t.integer user_id
在我的 create_orders.rb 文件中,它会自动知道这是一个外键!?
我觉得这可能真的很容易,但我错过了一些东西。这是我第一次使用 Rails,我想我必须通过 SQL 直接定义外键。任何帮助将不胜感激。如果我能弄清楚这一点,它将为我节省很多时间。
【问题讨论】:
标签: sql ruby-on-rails ruby database