2015-12-15 34 views

回答

4

我不認爲這是可以通過公寓的寶石,但是它是相當簡單的一個SQL查詢來做。這取決於你的設置。

如果你正在使用PostgreSQL用於爲每個租戶架構:

ALTER SCHEMA old RENAME TO new; 

如果你正在使用MySQL,你應該重命名錶名稱前綴的租戶。如果數據庫在同一文件系統上,這應該有效:

RENAME TABLE current_tenant.table TO new_tenant.table; 

聲明:未經測試。

+1

謝謝@zwippie 「ALTER SCHEMA老重命名爲新」 做了吧..... –

2

可以更改名稱(在我的情況下,子域)做這樣的事情:

1)你的架構應該是租戶模型的一些獨特的列(shema_id是罰款)。我從子域和租戶ID生成它的值。 2)apartment.rb you require "apartment/elevators/generic"。然後

config.tenant_names = -> { Tenant.pluck :shema_id } 

所以您使用像租戶名稱shema東西。 然後在文件的底部添加

​​

現在,在您做出正確的子域名請求的東西,你或你的租戶用戶可以編輯架構名/子域名和數據都將是安全的。

PS:在此還看到 - https://github.com/influitive/apartment/issues/242