sql >> Databáze >  >> RDS >> PostgreSQL

Použití více schémat PostgreSQL s modely Rails

Vyřeší váš problém adaptér PostgreSQL schema_search_path v database.yml?

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

Nebo můžete pro každé schéma zadat různá připojení:

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 každém definovaném připojení vytvořte dva modely:

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

A všechny vaše modely dědí z příslušného schématu:

class MyModelFromPublic < PublicSchema
  set_table_name :my_table_name
end

class MyOtherModelFromDiscoGs < DiscoGsSchema
  set_table_name :disco
end

Doufám, že to pomůže.



  1. Spusťte dotazy PostgreSQL z příkazového řádku

  2. 3 způsoby, jak naformátovat číslo jako procento v PostgreSQL

  3. Dotaz SQL pro 7denní klouzavý průměr v SQL Server

  4. Jak převést počet minut do formátu hh:mm v TSQL?