我已经连接到我的Rails 4.2应用程序中的外部postgres数据库。数据库是只读的,我想在表之间创建活动的模型关系。我已经制作了两个模型Foo和FooBar,它们对应于数据库中已有的两个表foos
和foo_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...
我做错了什么?
答案 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