PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sử dụng nhiều lược đồ PostgreSQL với các mô hình Rails

Bộ điều hợp PostgreSQL schema_search_path trong database.yml có giải quyết được vấn đề của bạn không?

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

Hoặc, bạn có thể chỉ định các kết nối khác nhau cho mỗi giản đồ:

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"

Sau mỗi kết nối được xác định, hãy tạo hai mô hình:

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

Và, tất cả các mô hình của bạn kế thừa từ lược đồ tương ứng:

class MyModelFromPublic < PublicSchema
  set_table_name :my_table_name
end

class MyOtherModelFromDiscoGs < DiscoGsSchema
  set_table_name :disco
end

Tôi hy vọng nó sẽ hữu ích.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tính tăng trưởng hàng tháng trong PostgreSQL

  2. PostgreSQL:Sửa đổi CHỦ SỞ HỮU trên tất cả các bảng đồng thời trong PostgreSQL

  3. Hỗ trợ SQLAlchemy của các lược đồ Postgres

  4. Làm thế nào để xóa một giá trị kiểu enum trong postgres?

  5. Cải tiến phân vùng trong PostgreSQL 11