使用apartment gem的外键问题是在关联表

时间:2017-07-17 07:07:56

标签: ruby-on-rails postgresql activerecord apartment-gem

以下是我在master数据库中添加关联模型中的数据时出现的错误。

  

ActiveRecord :: InvalidForeignKey:PG :: ForeignKeyViolation:ERROR:    在表"配置"上插入或更新违反外键    约束" fk_rails_29e23e6ceb"细节:Key(company_id)=(129)是    没有出现在表格"公司"。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并花了很多时间试图找出导致这种情况的原因。 解决方案非常简单(至少在我的情况下)。 直接来自gem的文档:

  

如果您有一些应该始终访问“公共”租户的模型,   您可以通过配置Apartment using来指定   Apartment.configure。这将为您生成一个配置对象。你可以>   设置排除模型如下:

config.excluded_models = ["User", "Company"]        # these models
 will not be multi-tenanted, but remain in the global (public)
 namespace  ```

所以只需将它添加到您的apartment.rb文件中。

Apartment.configure do |config|
  config.excluded_models = %w{ User Company }
  ...
end