【问题标题】:Multiple models accessing same table多个模型访问同一个表
【发布时间】:2013-09-11 08:42:02
【问题描述】:

我是 Datamapper 和 Ruby on Rails 的新手。我有一个现有的模型 A,现在我想创建另一个版本的模型 A,v2_A。 A 和 V2_A 之间的区别在于,我通过将 :required => true 更改为 :required => false 将一些 belongs_to 从 A 更改为 v2_A,如下所示。

class A
  include DataMapper::Resource
  property :p1, ...
  ...
  belongs_to :b, :required =>true
 end

 class v2_A
  include DataMapper::Resource
  property :p1, ...
  ...
  belongs_to :b, :required =>false
 end

因此,结果表中的所有列名基本上都是相同的。每当我在做rake db:autoupgrade 时,都会创建一个不需要的新表 v2_A。我在问两个模型是否有可能访问同一个表 A,即我不希望 v2_A 仅仅因为这个而创建另一个表。

【问题讨论】:

    标签: mysql ruby-on-rails ruby-datamapper


    【解决方案1】:

    我不确定 DataMapper::Resource

    但我想在你的模型中你可以写 self.table_name = "name_of_your_table"

    在这两个模型中。

    【讨论】:

    • 我应该在哪里写?我之所以问,是因为我已将其放在 A 类中,例如 self.table_name = 'a',a 是现有表的名称。然后当我 rake db:autoupgrade 它告诉未定义的方法“table_name”。
    • 您需要在模型中写入 self.table_name = "name_of_your_table" 并跳过迁移文件。如果不需要,请删除该迁移文件。
    • datamapper中没有这样的迁移文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    相关资源
    最近更新 更多