与外部Postgres数据库创建Rails模型关系

时间:2016-01-17 22:01:01

标签: ruby-on-rails postgresql

我已经连接到我的Rails 4.2应用程序中的外部postgres数据库。数据库是只读的,我想在表之间创建活动的模型关系。我已经制作了两个模型Foo和FooBar,它们对应于数据库中已有的两个表foosfoo_bars。我删除了迁移文件夹,因为我认为我不需要它。在rails控制台中,我可以很好地检索记录:

record = Foo.find(1)

然后我建立了一个关系:

# models/foo.rb
establish_connection :the_database
has_one :foo_bar 

# models/foo_bar.rb
belongs_to :foo

foos表有一个id列,foo_bars表有一个foo_id外键列。在控制台中:

record = Foo.find(1)
record.foo_bar

我收到以下错误:

PG::UndefinedTable: ERROR:  relation "foo_bars" does not exist
LINE 5:                WHERE a.attrelid = '"foo_bars"'::regclas...

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我只在foo模型中建立连接。一旦我将连接添加到两者,它就可以工作。

# models/foo.rb
establish_connection :the_database
has_one :foo_bar 

# models/foo_bar.rb
establish_connection :the_database
belongs_to :foo