2016-04-12 14 views
2

Ich benutze Wohnung für Multi-Tenancy. Gibt es eine Möglichkeit, dass ich eine Abfrage über alle Mandanten anstatt nur über meine aktuelle Abfrage ausführen kann?Apartment aktive Datensatzabfrage über Mandanten

Eine Art von lästigen Weise zu tun, würde es so etwas wie

tenants.map do | tenant | 
    Apartment::Tenant.switch! tenant 
    User.all 
end 

sein Ich bin nicht sicher, was die Nebenwirkungen der Mieter sind zwar schalten, und es wäre schön, wenn es eine Möglichkeit war zu setzen der Mandant auf einer Abfrageebene.

+1

Sie immer ein bestimmtes Modell davon, dass Mieter basierte ausschließen kann - aber wenn Sie sprechen über mehrere Mieter zu berichten, dann nein, was Sie haben, ist der Weg, es zu tun. Wenn Sie darüber nachdenken, unterscheidet es sich nicht von dem, was die Anwendung bei jeder Benutzerverbindung tut, sie schaltet die Datenbank auf ihren Mandanten um und führt Aktionen aus, aber es könnte leicht übertrieben sein. Je nachdem, was Sie erreichen möchten. – trh

+0

@trh Das würde eine gute Antwort geben ... –

+0

@trh: Ja, ich weiß, ich könnte es von mandantenbasiert ausschließen, aber das ist etwas, das ich normalerweise mandantenbasiert sein möchte, außer in bestimmten administrativen Szenarien. – Xodarap

Antwort

2

Eine etwas bessere Art und Weise, Dinge zu tun ist

tenants.map do | tenant | 
    Apartment::Tenant.switch(tenant) do 
    User.all 
    end 
end 

diese Weise ist es nicht ist der aktuelle Mieter ändert