2017-05-26 45 views
0

對於我的應用程序,我們通過編程方式通過c#代碼創建數據庫。我們在爲應用程序註冊時爲每個用戶創建單獨的postgresql數據庫。PostgreSql更新多個數據庫的功能

當我們創建數據庫時,postgreSQL函數會自己創建,因爲我已經將它們存儲在模板數據庫中。

但是,當函數必須更新時,我必須手動去每個用戶的每個數據庫中更新函數。

我無法想出一種方式,即函數可以集中存儲在某個地方,這樣我就可以在一個地方更新它們,並且每個數據庫都可以從一個地方引用它們,而不必在每個數據庫中存儲函數的副本。

或者我的代碼可以檢測到功能已經改變了,它需要在服務器上更新。

+2

「*我們爲每個用戶創建單獨的postgresql數據庫*」 - 這聽起來像一個可怕的想法。 –

+0

「我們爲每個用戶創建單獨的postgresql數據庫」 - 我認爲heroku會這樣做 –

回答

0

這裏的解決方案不是使用不同的數據庫,而是在一個數據庫中使用不同的數據庫模式。

通過這種方式,您可以在一個模式(通常爲public)中使用該功能並將其用於所有用戶。