PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

रेल मॉडल के साथ कई पोस्टग्रेएसक्यूएल स्कीमा का उपयोग करना

Database.yml में PostgreSQL अडैप्टर schema_search_path आपकी समस्या का समाधान करता है?

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

या, आप प्रत्येक स्कीमा के लिए अलग-अलग कनेक्शन निर्दिष्ट कर सकते हैं:

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"

प्रत्येक कनेक्शन परिभाषित होने के बाद, दो मॉडल बनाएं:

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

और, आपके सभी मॉडल संबंधित स्कीमा से इनहेरिट करते हैं:

class MyModelFromPublic < PublicSchema
  set_table_name :my_table_name
end

class MyOtherModelFromDiscoGs < DiscoGsSchema
  set_table_name :disco
end

मुझे आशा है कि यह मदद करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में लेनदेन अलगाव

  2. समूहवार अधिकतम क्वेरी अनुकूलित करें

  3. PostgreSQL में सभी उपयोगकर्ताओं को कैसे सूचीबद्ध करें

  4. PostgreSQL और TimescaleDB के लिए SELinux को कैसे कॉन्फ़िगर करें

  5. PostgreSQL डेटाबेस में बाइटा फ़ील्ड में छवियों को संग्रहीत करना