PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Używanie wielu schematów PostgreSQL z modelami Rails

Adapter PostgreSQL schema_search_path w pliku database.yml rozwiązuje Twój 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"

Możesz też określić różne połączenia dla każdego schematu:

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"

Po zdefiniowaniu każdego połączenia utwórz dwa modele:

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

Wszystkie Twoje modele dziedziczą po odpowiednim schemacie:

class MyModelFromPublic < PublicSchema
  set_table_name :my_table_name
end

class MyOtherModelFromDiscoGs < DiscoGsSchema
  set_table_name :disco
end

Mam nadzieję, że to pomoże.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj najczęstszą wartość dla każdej wartości innej kolumny w SQL

  2. Czy mogę pisać funkcje PostgreSQL w Ruby on Rails?

  3. Postgres - jak zwrócić wiersze z liczbą 0 za brakujące dane?

  4. Testy Parallel Go wykonywane na bazie danych PostgreSQL działającej na platformie Docker

  5. Wybierz losowy wiersz z tabeli PostgreSQL z ważonymi prawdopodobieństwami wierszy