2016-07-29 12 views
1

Ich baue Multi-Tenancy-App in Schienen. Verwenden von PgTools.So erhalten Sie private Daten aus dem öffentlichen Bereich in einer Rails-Multi-Tenancy-Anwendung

Ich habe Daten in der Filmtabelle im öffentlichen Abschnitt gespeichert, wenn ich auf dieselben Daten im privaten Abschnitt zugreifen möchte, dh: Beispiel ist subdomain, das als privater Abschnitt definiert wird, in dem ich Filmtabelle erschließen möchte.

[3] pry(main)> PgTools.restore_default_search_path 
=> "\"$user\", public" 
[4] pry(main)> Movie.count 
    (0.4ms) SELECT COUNT(*) FROM "movies" 
=> 6 
[5] pry(main)> PgTools.set_search_path "example", false 
=> "example" 
[6] pry(main)> Movie.count 
    (163.4ms) SELECT COUNT(*) FROM "movies" 
=> 0 
[7] pry(main)> 

Antwort

1

Um dies zu erreichen, wenn Sie nicht die Wohnung Juwel verwenden, die Ihnen die Flexibilität zur Ausnahme bestimmter Modelle von Ihrem eigenen Schema gibt sogar ohne dass Sie dies durch den Einsatz erreichen kann

PgTools.restore_default_search_path 

Schalter für die Öffentlichkeit tenant ersten

movie_count = Movie.count 

store die Zählung in einer variablen dann zurückzuschalten und verwenden, um die variable

PgTools.set_search_path "example", false 

k hat immer noch den Wert, oder Sie können auch das gesamte aktive Datensatzobjekt speichern, wenn Sie eine Operation darauf ausführen möchten.