sql >> Databasteknik >  >> RDS >> PostgreSQL

Använder flera PostgreSQL-scheman med Rails-modeller

Löser PostgreSQL-adaptern schema_search_path i database.yml ditt problem?

development:
  adapter: postgresql
  encoding: utf-8
  database: solidus
  host: 127.0.0.1
  port: 5432
  username: postgres
  password: postgres
  schema_search_path: "discogs,public"

Eller så kan du ange olika anslutningar för varje schema:

public_schema:
  adapter: postgresql
  encoding: utf-8
  database: solidus
  host: 127.0.0.1
  port: 5432
  username: postgres
  password: postgres
  schema_search_path: "public"

discogs_schema:
  adapter: postgresql
  encoding: utf-8
  database: solidus
  host: 127.0.0.1
  port: 5432
  username: postgres
  password: postgres
  schema_search_path: "discogs"

Efter varje definierad anslutning skapar du två modeller:

class PublicSchema < ActiveRecord::Base
  self.abstract_class = true
  establish_connection :public_schema
end

class DiscoGsSchema < ActiveRecord::Base
  self.abstract_class = true
  establish_connection :discogs_schema
end

Och alla dina modeller ärver från respektive schema:

class MyModelFromPublic < PublicSchema
  set_table_name :my_table_name
end

class MyOtherModelFromDiscoGs < DiscoGsSchema
  set_table_name :disco
end

Jag hoppas att det hjälper.



  1. PostgreSQL-träning för MySQLers

  2. Släpp primärnyckeln med skript i SQL Server-databasen

  3. Vilka är de olika sätten att infoga data i SQL Server Table - SQL Server / TSQL Tutorial Del 100

  4. Information om informationsschemadatabasen i MySQL