0

我正在构建一个连接到现有 oracle 数据库的 rails api 应用程序

我已经设法使用 ruby​​-oci、oracle 增强适配器和简单的脚手架为现有的 oracle 表创建 api,但是如何将所有 pk、fk 和索引信息添加到每个表的模型中?

4

2 回答 2

1

我假设您已经设置了模型,并且已经设置了主键,正如 Mahatmanich 所说。

set.table_name="schema.table"
set.primary_key="legacy_id"

我还为所有遗留表字段设置了别名,以便它们在我的代码库中更具可读性。

alias :alias_name, :old_field_name

通常在处理遗留数据库时,关系并不像拥有一个主键那样简单。这里有一些例子;

 belongs_to :the_other_table,
   :class_name => 'TheOtherClassName',
   :primary_key => 'key_in_other_table',
   :foreign_key => 'my_key'

 has_many :yet_another_tables,
   :class_name => "YetAnotherClassName",
   :primary_key => 'my_key_2', 
   :foreign_key => 'key_in_yet_another_table',
   :conditions => ['something = ?', true]
于 2014-02-21T18:39:39.117 回答
0

嗨,找到此信息的最佳地点是:https ://github.com/rsim/oracle-enhanced

应该很简单,在你的模型中这样做:

class Test < ActiveRecord::Base
  self.table_name="Test"
  self.primary_key="id"
end
于 2013-10-23T12:11:45.673 回答