【发布时间】:2011-07-06 12:59:52
【问题描述】:
我已经创建了一个表,现在我想向表中添加一个关联(has_many 关系)。如果我已经创建了一个表并且 rake db:migrate 在创建模型后已经完成,我该怎么做?
在ror中创建表后是否可以在表中添加关联(has_many关系)?
【问题讨论】:
-
如果您发布模型的名称,我可以给您确切的运行命令。
标签: mysql ruby-on-rails ruby
我已经创建了一个表,现在我想向表中添加一个关联(has_many 关系)。如果我已经创建了一个表并且 rake db:migrate 在创建模型后已经完成,我该怎么做?
在ror中创建表后是否可以在表中添加关联(has_many关系)?
【问题讨论】:
标签: mysql ruby-on-rails ruby
您可以使用迁移添加连接两个表的列。注意命名约定。
【讨论】:
如果MyModel has_many :foos,那么my_models 表中实际上没有与该关系相关的列。相反,您需要创建带有 my_model_id 列的 Foo 模型,或者生成迁移以将该列添加到现有的 foos 表中。
也就是说,你想要运行:
rails generate model Foo <other fields> my_model_id:integer
或
rails generate migration add_my_model_id_to_foo my_model_id:integer
注意 about 的语法适用于 Rails 3;在 Rails 2 下,你需要ruby script\generate ...
【讨论】:
是的。在您的终端中,执行以下操作:
rails generate migration AddColumnToTableName column_id:integer
将TableName 替换为您需要将列添加到的表的名称,将column 替换为获得belong_to 关联的模型的名称。
【讨论】: