我有两个不同模式的表,例如
cases和events.
在每个模式中,我有基本表
events.basiccases.basic这个表有关系:
events.basic有一个cases.basic(cases.basic有很多events.basic)我的尝试失败了:
文件 cases_basic.rb
class CasesBasic < ActiveRecord::Base
set_table_name 'cases.basic'
set_primary_key 'case_id'
has_many :Events, :class_name => 'EventsBasic', :foreign_key => 'case_id'
end
Run Code Online (Sandbox Code Playgroud)
文件 events_basic.rb
class EventsBasic < ActiveRecord::Base
set_table_name 'events.basic'
set_primary_key 'event_id'
belongs_to :Case, :class_name => 'CasesBasic', :foreign_key => 'case_id'
end
Run Code Online (Sandbox Code Playgroud)
环境:Ruby 1.9.3,Rails 3.1.3,gem 'pg'
我需要回答这个问题:
rake db:schema:dump编辑:
改变后belongs_to和has_many(如嘘声建议)我有同样的错误
PGError: ERROR: column …Run Code Online (Sandbox Code Playgroud) 下面是用于创建设置架构和添加表创建user和role
class CreateSettingSchema < ActiveRecord::Migration[5.0]
def up
execute 'CREATE SCHEMA settings'
create_table "settings.users" do |t|
t.string :name
t.string :email
t.string :phone
t.string :address
t.timestamps
end
create_table "settings.roles" do |t|
t.string :name
t.timestamps
end
end
def down
drop_table "settings.roles"
drop_table "settings.users"
execute 'DROP SCHEMA settings'
end
end
Run Code Online (Sandbox Code Playgroud)
我的数据库配置
default: &default
adapter: postgresql
host: localhost
encoding: unicode
pool: 5
username: postgres
password: postgres
schema_search_path: settings,public
development:
<<: *default
database: enc_attr_development
username: postgres
password: postgres
Run Code Online (Sandbox Code Playgroud)
我正在使用self.table_name将模型与数据库表相关联
class SettingRole …Run Code Online (Sandbox Code Playgroud) 我有两个 Rails 应用程序base1和base2.
base1db1在该数据库中使用并拥有多个租户,其使用公寓 gem。
base2是单租户应用程序,以数据库db2为主,并且还使用来自db1.
现在的问题是,base2应用程序建立了连接,我可以在应用程序中获取公共租户中的db1数据数据。如何从应用程序的不同模式中获取数据?db1base2db1base2