Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用于现有oracle表的rails api_Ruby On Rails - Fatal编程技术网

Ruby on rails 用于现有oracle表的rails api

Ruby on rails 用于现有oracle表的rails api,ruby-on-rails,Ruby On Rails,我正在构建一个连接到现有oracle数据库的rails api应用程序 我已经使用ruby oci、oracle增强适配器和简单支架为现有oracle表创建了api,但是如何将所有pk、fk和索引信息添加到每个表的模型中?嗨,找到这些信息的最佳位置是: 应该非常直截了当,在您的模型中,请执行以下操作: class Test < ActiveRecord::Base self.table_name="Test" self.primary_key="id" end 类测试

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


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

嗨,找到这些信息的最佳位置是:

应该非常直截了当,在您的模型中,请执行以下操作:

class Test < ActiveRecord::Base
  self.table_name="Test"
  self.primary_key="id"
end
类测试
我假设您已经设置了您的模型,并且您已经设置了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]